D. Stott Parker
Technical Report CSD-920027 (94pp), June 1992.
Bop is a portable extension of Edinburgh-style Prolog environments, that integrates term rewriting with Prolog. Bop rests on a kind of conditional rewrite rules, that supports various term rewriting styles. The default rewriting mechanism is nondeterministic and lazy. It offers the following:
Bop was developed particularly in order to support research on stream processing and constraint processing, but it should also be of help in the exploration of other paradigmatic extensions of logic programming. This manual overviews the system and describes the primitives available, emphasizing its application to stream processing problems.
- control over the compilation of rewrite rules, permitting user-defined pattern matching and/or type checking.
- a rule compiler that produces fairly efficient Prolog code by avoiding redundant computation and exploiting features of modern Prolog systems such as clause indexing and delay primitives.
- ability to produce compiled rule output as a Prolog file that can subsequently be used independently in other applications.
- a full debugger/tracer with spypoint management for rewrite rules.
- a sizeable library of standard programs.
- a collection of demonstration programs, with a modest demo interaction shell encouraging exploration.
- a system written almost entirely in Prolog, intended to be portable across Edinburgh Prolog platforms. Bop has been run successfully on the C-Prolog, SICStus, and Quintus Prolog systems.