Exemple #1
0
/**
 * disj one or more goals without nesting.
 */
function disjPlus($g)
{
    $gs = func_get_args();
    if (func_num_args() === 1) {
        return zzz($g);
    } else {
        return disj(zzz($g), call_user_func_array('MicroKanren\\Core\\disjPlus', array_slice($gs, 1)));
    }
}
function manyNonAns()
{
    return callFresh(function ($x) {
        return disj(relo(cons(5, 6)), eq($x, 3));
    });
}