Text this: A specification of an abstract Prolog machine and its application to partial evaluation /