Self-Interpreter For Prolog