Skip to content

Prolog, Datalog, languages, resources, and beyond!

Notifications You must be signed in to change notification settings

llaisdy/PrologInfo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Prolog Info – the list

Overview

A list of implementations of Prolog, and of related languages (Lambda Prolog, Datalog, and beyond), and related resources. A work in progress!

Prolog

Languages

  • Ciao Prolog, “a modern Prolog implementation that builds up from a logic-based simple kernel designed to be portable, extensible, and modular.”
  • erlog, a Prolog interpreter implemented in Erlang.
  • GNU Prolog, GNU Prolog.
  • GUPU, “Gesprächsunterstützende Programmierübungsumgebung” (an environment specialized for Prolog and constraint programming, at TU Wien).
  • Ichiban Prolog, an embeddable ISO Prolog interpreter in Go.
  • JIProlog, “A Prolog interpreter, pure Java 100%, cross-platform and Open Source” (@jiprolog)
  • Logtalk, a declarative object-oriented logic programming language (@LogtalkDotOrg)
  • Mercury, “a logic/functional programming language.” (@MercuryLang)
  • Natlog is a lightweight Prolog-like system (implemented in Python) designed to smoothly interoperate with deep learning tools like PyTorch, JAX, GPT.
  • Strand, a parallel Prolog dialect, described in “Strand: New Concepts for Parallel Programming”, Ian Foster & Stephen Taylor (1990, Prentice-Hall). See also Fleng (below).
  • Scryer Prolog, an ISO Prolog implemented in Rust.
  • SWI-Prolog, “Robust, mature, free. Prolog for the real world.”
  • Tau Prolog, An open source Prolog interpreter in JavaScript (@tau_prolog)
  • Trealla Prolog, a compact, efficient Prolog interpreter written in plain-old C
  • XSB, “a Logic Programming and Deductive Database system for Unix and Windows..”

Resources

Lambda Prolog

  • ELPI, Embeddable Lambda Prolog Interpreter: “implements a variant of λProlog enriched with Constraint Handling Rules”
  • Teyjus, a Lambda Prolog implementation

Datalog

  • AbcDatalog, Easy Datalog for research & pedagogy.
  • Cozo, A transactional, relational-graph-vector database that uses Datalog for query.
  • Datahike, A fast, immutable, distributed & compositional Datalog engine for everyone.
  • Datalevin, A simple, fast and versatile Datalog database.
  • DataScript, Immutable database and Datalog query engine for Clojure, ClojureScript and JS.
  • Datomic, “The fully transactional, cloud-ready, distributed database”
  • Differential Datalog, DDlog is a programming language for incremental computation. It is well suited for writing programs that continuously update their output in response to input changes.
  • Eclair, “A lightning-fast logical query language for solving complex search- and graph-based problems.”
  • Eqlog, Datalog with equality for rust.
  • Formulog, a “Datalog with support for SMT queries and first-order functional programming”.
  • Soufflé, “Logic Defined Static Analysis”

Other Languages In The Area

  • Ascent, a logic programming language (similar to Datalog) embedded in Rust via macros
  • Clingo, and the Potsdam Answer Set Solving Collection (@potassco)
  • Curry, a truly integrated functional logic programming language
  • Fleng, a compiler for the concurrent logic programming languages FGHC, Strand, KL1 and PCN.
  • Flix, a principled functional, imperative, and logic programming language.
  • Logic & Objects – the class template language (F. McCabe PhD thesis, 1989).
  • Logica, a declarative logic programming language for data manipulation.
  • MiniZinc, “a high-level constraint modelling language that allows you to easily express and solve discrete optimisation problems.”
  • Picat, “a simple, and yet powerful, logic-based multi-paradigm programming language aimed for general-purpose applications.”
  • Popper, An inductive logic programming system
  • PyNeuraLogic, PyNeuraLogic lets you use Python to create Differentiable Logic Programs.
  • Slog, a parallel logic programming engine with first-class facts/data.

About

Prolog, Datalog, languages, resources, and beyond!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published