In this section, we discuss backward compatibility with the CHR library of Eclipse Prolog.
          option(rule_ordering,heuristic).
          option(revive_scheme,old).
          
     already_in_store,
already_in_head and guard_bindings options are still
around, but there are CHR syntax extensions (see CHR Syntax)
and pragmas (see CHR Pragmas) offering better grained control.
     label_with declaration. Since it was not widely used and can
be easily simulated, built-in labeling was dropped.  The same effect can
be achieved by replacing the declaration label_with Constraint if
Guard by the simplification rule chr_labeling, Constraint <=>
Guard | Constraint', chr_labeling and by renaming the head in
each clause Constraint :- Body into Constraint' :-
Body where Constraint' is a new predicate.  Efficiency can
be improved by declaring Constraint to be passive:
chr_labeling, Constraint#Id <=> Guard | Constraint', chr_labeling
pragma passive(Id).  This translation will not work if
option(already_in_heads,on).  In that case use e.g. 
chr_labeling(_), Constraint <=> Guard | Constraint',
chr_labeling(_) to make the new call to chr_labeling differ from
the head occurrence.