`#=`

is used to represent equality, and `#\=`

is used to represent inequality for all four types of domains. At run-time, the system determines which solver it should call, based on the types of the arguments. In addition to the four types of domains, B-Prolog provides a declarative interface to linear programming (LP) and mixed programming (MIP) packages, through which LP/MIP problems can be described in a CLP fashion. Currently, the GLPK

- CLP(Tree)
- CLP(FD)
- Finite-domain variables
- Table constraints
- Arithmetic constraints
- Global constraints
- Labeling and variable/value ordering
- Optimization

- CLP(Boolean)
- CLP(Set)
- Modeling with
`foreach`and list comprehension

Neng-Fa Zhou 2013-01-25