next up previous contents
Next: Compiling Up: The Extended CHR Implementation Previous: Invoking the extended CHR

Syntactic Differences

As programs containing CHRs are no longer compiled by a separate process, the .chr extension is no longer implicitly supported. Files with the .chr extension can still be compiled by explicitly specifying the extension in the compile command, as in ['file.chr']. Associated with this change, there are some changes to the declarations of the .chr format:

The syntax for naming a rule has been changed, because the old method (using @ clashes with the use of @ in modules. The new operator for naming rules is ::=. Here is part of the minmax handler in the new syntax:

:- handler minmax.
:- constraints leq/2, neq/2, minimum/3, maximum/3.
:- op(700, xfx, neq).

built_in    ::=  X leq Y <=> ground(X), ground(Y) | X @=< Y.
reflexivity ::=  X leq X <=> true.
...



Joachim Schimpf
Sun Jul 19 22:34:17 BST 1998