This is an implementation of µKanren in JavaScript.
TODO: infinite streams
var u = require('./');
var assert = require('assert');
assert.deepEqual(
u.callFresh(function(q) { return u.eq(5, q); })(u.emptyState()),
[ [ { '0': 5 }, 1 ] ]
);
Cheers, zii