This is not a WAM implementation, although I would be quite tempted to try such a beast. No cut or bagof at the moment, but that ought to come shortly. To-do list Lets face it, there's nothing special about the X in X(a,b,c). Built-ins: hook to handle predicates with JS definitions. Parse T1, !, T4 as #cut(T1, T4) not, bagof. Parse X = Y as unify(X, Y). Builtins for arithmetic. String, URL literal