CommunityNews

CommunityNews

50 Years of Prolog and Beyond

50 Years of Prolog and Beyond.
Both logic programming in general, and Prolog in particular, have a long and
fascinating history, intermingled with that of many disciplines they inherited
from or catalyzed. A large body of research has been gathered over the last 50
years, supported by many Prolog implementations. Many implementations are still
actively developed, while new ones keep appearing. Often, the features added by
different systems were motivated by the interdisciplinary needs of programmers
and implementors, yielding systems that, while sharing the “classic” core
language, and, in particular, the main aspects of the ISO-Prolog standard, also
depart from each other in other aspects. This obviously poses challenges for
code portability. The field has also inspired many related, but quite different
languages that have created their own communities.
This article aims at integrating and applying the main lessons learned in the
process of evolution of Prolog. It is structured into three major parts.
Firstly, we overview the evolution of Prolog systems and the community
approximately up to the ISO standard, considering both the main historic
developments and the motivations behind several Prolog implementations, as well
as other logic programming languages influenced by Prolog. Then, we discuss the
Prolog implementations that are most active after the appearance of the
standard: their visions, goals, commonalities, and incompatibilities. Finally,
we perform a SWOT analysis in order to better identify the potential of Prolog,
and propose future directions along which Prolog might continue to add useful
features, interfaces, libraries, and tools, while at the same time improving
compatibility between implementations.

Read in full here:

This thread was posted by one of our members via one of our news source trackers.

Where Next?

Popular Backend topics Top

First poster: bot
nim-lang/Nim. Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages lik...
New
First poster: bot
Zig Roadmap 2021. From Zig SHOWTIME #21Subscribe to the Zig SHOWTIME Newsletter!https://zig.show0:00 Intro then Language Spec w/ Martin ...
New
First poster: bot
This blog post walks you through how to implement a time-series database engine based on what I’ve learned from my experience of writing ...
New
First poster: bot
In recent months I use Go for the implementation of Proof of Concept in my leisure time, partly to study of Go programming language itsel...
/go
New
First poster: bot
TLDR; the future of ML is Julia. If you are looking for a quick answer, there you have it. If you want the well reasoned explanation, sti...
New
First poster: AstonJ
GitHub - redneckbeard/thanos: Ruby → Go at the snap of your fingers. Ruby → Go at the snap of your fingers. Contribute to redneckbeard/t...
New
First poster: bot
GitHub - Shirakumo/trial: A fully-fledged Common Lisp game engine. A fully-fledged Common Lisp game engine. Contribute to Shirakumo/tria...
New
First poster: bot
GitHub - tetratelabs/wazero: wazero: the zero dependency WebAssembly runtime for Go developers. wazero: the zero dependency WebAssembly ...
New
First poster: bot
GitHub - pintariching/rustle: Svelte compiler rewritten in Rust. Svelte compiler rewritten in Rust. Contribute to pintariching/rustle de...
New
gfqdjb
The goal of this book is to help you get from a vague idea of what you need to implement (e.g.: “I need to build a website to manage sche...
New

Other popular topics Top

PragmaticBookshelf
Free and open source software is the default choice for the technologies that run our world, and it’s built and maintained by people like...
New
PragmaticBookshelf
Write Elixir tests that you can be proud of. Dive into Elixir’s test philosophy and gain mastery over the terminology and concepts that u...
New
ohm
Which, if any, games do you play? On what platform? I just bought (and completed) Minecraft Dungeons for my Nintendo Switch. Other than ...
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
Rainer
My first contact with Erlang was about 2 years ago when I used RabbitMQ, which is written in Erlang, for my job. This made me curious and...
New
New
PragmaticBookshelf
Rust is an exciting new programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters...
New
PragmaticBookshelf
Build highly interactive applications without ever leaving Elixir, the way the experts do. Let LiveView take care of performance, scalabi...
New
PragmaticBookshelf
Author Spotlight Mike Riley @mriley This month, we turn the spotlight on Mike Riley, author of Portable Python Projects. Mike’s book ...
New
New