Extensible Unification by Metastructures

Ulrich Neumerkel · 2007

Metastructures are a new way to extend Prolog’s built-in unification by user definitions. While the behavior of ordinary terms during unification remains the same, the user can define the behavior of metastructures. Metastructures enable the user to implement efficiently many proposed enhancements of Prolog such as functional extensions, constraints according to the CLP scheme and meta-logical primitives in terms of Prolog, instead of relying on a highly specialized system. Metastructures can be implemented so efficiently that programs not using this extension are executed with a very small overhead. Metastructures have the same execution expense as an efficient implementation of freeze/2. Additionally, the system’s garbage collector is able to detect and remove all unused metastructures without knowing their actual definition.

Read the paper · More papers on PaperTik