Freeze, Indexing, and Other Implementation Issues in the WAM

Two very useful extensions to Prolog's computation model, dif and freeze were introduced with Prolog II. A method for their incorporation into the Warren Abstract Machine is presented. Under reasonable assumptions, the method does not incur any overhead on programs not using these extensions. The clause indexing mechanism is also discussed, as it is not unrelated to the freeze mechanism.