A Pure JavaScript implementation of Prolog