A small Prolog engine.