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
For the first time in the history of TIOBE’s index, Java has slipped out of the top two, leaving Python to occupy the spot behind reignin...
New
CommunityNews
What is 3110 about? You might think this course is about OCaml. It’s not. You might think this course is about data structures. It’s not...
New
First poster: KnowledgeIsPower
Rocket is a web framework written in Rust. It provides a concise API and is opinionated and feature-rich beyond what you would typically ...
New
New
First poster: bot
GitHub - vydd/sketch: A Common Lisp framework for the creation of electronic art, visual design, game prototyping, game making, computer ...
New
CommunityNews
Martin Thompson On How To Manage Software Complexity | The Engineering Room Ep. 4. In this episode, Dave Farley chats with Martin Thomps...
New
First poster: bot
IS C++ DOOMED?. I was bored so wrote a contiguous queue in C++ ( ). These are my thoughts from that exercise. INTRO I’ve written a lot o...
New
First poster: bot
clog/LEARN.md at main · rabbibotton/clog. CLOG - The Common Lisp Omnificent GUI. Contribute to rabbibotton/clog development by creating ...
New
First poster: bot
GitHub - clojure-rs/ClojureRS: Clojure, implemented atop Rust (unofficial). Clojure, implemented atop Rust (unofficial). Contribute to c...
New
First poster: herbert
Why Rust should not have provided unwrap. I see the unwrap function called a lot, especially in example code, quick-and-dirty prototype ...
New

Other popular topics Top

PragmaticBookshelf
Stop developing web apps with yesterday’s tools. Today, developers are increasingly adopting Clojure as a web-development platform. See f...
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
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
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
DevotionGeo
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
New
First poster: bot
zig/http.zig at 7cf2cbb33ef34c1d211135f56d30fe23b6cacd42 · ziglang/zig. General-purpose programming language and toolchain for maintaini...
New
CommunityNews
A Brief Review of the Minisforum V3 AMD Tablet. Update: I have created an awesome-minisforum-v3 GitHub repository to list information fo...
New
sir.laksmana_wenk
I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc. However, I don’t...
New
PragmaticBookshelf
Use advanced functional programming principles, practical Domain-Driven Design techniques, and production-ready Elixir code to build scal...
New