Basic interpreter in Prolog