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. ...