joetjen.net
EN DE
← All libraries
Elixir

aletheia

An embedded Prolog dialect for Elixir — Clojure is to Common Lisp as Aletheia is to Prolog.

Intention

Classic Prolog surface syntax on the BEAM, so existing Prolog knowledge transfers directly, with a reader built on Ichor’s parsing substrate and Episteme underneath.

Example
grandparent(X, Z) :- parent(X, Y), parent(Y, Z).

Aletheia.query("grandparent(tom, Who)", db)
#=> {:ok, [%{"Who" => :ann}, %{"Who" => :pat}]}
Install
{:aletheia, "~> 0.1"}
ElixirPrologDCG