[ Reference Manual | Alphabetic Index ]

# library(ech)

Extended constraint handling rules library [more]

## Predicates

> appliedpos(?, ?)
>   No description available
> cdeletethreshold(?, ?)
>   No description available
> check_pairapplied(?, ?, ?, ?, ?, ?)
>   No description available
> check_pairapplied_direct(?, ?, ?, ?, ?, ?)
>   No description available
> check_pairapplied_directmarked(?, ?, ?, ?, ?, ?, ?, ?)
>   No description available
> check_samepairapplied(?, ?, ?, ?, ?, ?)
>   No description available
> check_samepairapplied_direct(?, ?, ?, ?, ?, ?)
>   No description available
> check_samepairapplied_directmarked(?, ?, ?, ?, ?, ?, ?, ?)
>   No description available
> chr(?)
>   No description available
> chr(?, ?)
>   No description available
> chr_get_constraint(?)
>   No description available
> chr_get_constraint(?, ?)
>   No description available
> chr_get_gconstraint(?, ?)
>   No description available
> chr_get_vconstraint(?, ?, ?)
>   No description available
> constraintnumpos(?, ?)
>   No description available
> constraints(+SpecList)
>   Directive for declaring SpecList to be CHR constraints
> constraints(?, ?)
>   No description available
> create_applied(?, ?)
>   No description available
> find_partner(?, ?, ?, ?)
>   No description available
> get_constraint_list(?, ?, ?)
>   No description available
> get_global_constraint(?, ?)
>   No description available
> handler(?)
>   No description available
> ignore_handler(?, ?)
>   No description available
> in_chrstore(+CHRConst)
>   Test if CHRConst is in the CHR constraint store or not
> in_chrstore(?, ?)
>   No description available
> insert_pairapplied(?, ?, ?, ?, ?, ?)
>   No description available
> insert_samepairapplied(?, ?, ?, ?, ?, ?)
>   No description available
> is_in_store(?, ?)
>   No description available
> kill_constraint(?, ?)
>   No description available
> new_constraints(?, ?, ?)
>   No description available
> option(++Option, ++On_or_Off)
>   Specify options for controlling ech compilation
> option(?, ?, ?)
>   No description available
> record_chrprule(?, ?, ?)
>   No description available
> record_chrrule(?, ?, ?)
>   No description available
> record_namedrule(?, ?, ?)
>   No description available
> suspend_constraint(?, ?, ?, ?)
>   No description available
> suspendindexpos(?, ?)
>   No description available
> wrapperinpos(?, ?)
>   No description available

## Other Exports

> export op(1100, fy, handler)
> export op(1000, fy, constraints)
> export op(1190, xfx, [==>, <=>])
> export op(1200, xfx, ::=)
> export op(1100, xfx, |)
> export op(1100, xfx, \)
> export op(700, xfx, flag)
> export macro(handler / 2, ignore_handler / 3, [clause])
> export macro(==> / 2, record_chrprule / 3, [clause])
> export macro(<=> / 2, record_chrrule / 3, [clause])
> export macro(::= / 2, record_namedrule / 3, [clause])
> export macro(constraints / 1, new_constraints / 3, [clause])
> export macro(constraint_in_wrapper_pos / 0, realconstraintpos / 2, [])
> export macro(suspendid_pos / 0, suspendindexpos / 2, [])
> export macro(constraintnum_pos / 0, constraintnumpos / 2, [])
> export macro(applied_pos / 0, appliedpos / 2, [])
> export macro(wrapper_inpos / 0, wrapperinpos / 2, [])
> export macro(cdelete_threshold / 0, cdeletethreshold / 2, [])

## Description

This library allows the user to write constraint handling rules (CHR) in their ECLiPSe programs. CHR is a high-level language extension for writing user-defined constraints, allowing for rapid prototyping of constraints.

This library provides some extensions over the older chr library:

- support for multi (>2) headed simplification and simpagation rules
- cleanup of semantics and syntax of CHRs
- faster execution
- more convenient compilation and mixing with ECLiPSe code

CHRs are compiled by source-to-source transformation into ECLiPSe code that make calls to many ech library predicates that implements the CHR functionality. Thus, most exported predicates predicates are not intended to be used by the user directly, and are not documented.

Generated from ech.eci on 2020-02-26 22:26