A JavaScript microKanren using generators to produce the substitution streams.
r = require("./reason.js");
s = require("./subs.js");
x = s.fresh();
goal = r.unify("foo", x);
stream = goal(s.emptySub());
stream.next().value.lookup(x);
In the tests folder:
./runtests all
MIT