The Implementation of Prolog (Princeton Series in Computer Science)