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"}