- Documentation
- Reference manual
- The SWI-Prolog library
- library(clpfd): CLP(FD): Constraint Logic Programming over Finite Domains
- Introduction
- Arithmetic constraints
- Declarative integer arithmetic
- Example: Factorial relation
- Combinatorial constraints
- Domains
- Example: Sudoku
- Residual goals
- Core relations and search
- Example: Eight queens puzzle
- Optimisation
- Reification
- Enabling monotonic CLP(FD)
- Custom constraints
- Applications
- Acknowledgments
- CLP(FD) predicate index
- Closing and opening words about CLP(FD)
- library(clpfd): CLP(FD): Constraint Logic Programming over Finite Domains
- The SWI-Prolog library
- Packages
- Reference manual
A.8.16 Acknowledgments
This library gives you a glimpse of what https://sicstus.sics.se/SICStus Prolog can do. The API is intentionally mostly compatible with that of SICStus Prolog, so that you can easily switch to a much more feature-rich and much faster CLP(FD) system when you need it. I thank https://www.sics.se/ matsc/ Mats Carlsson , the designer and main implementor of SICStus Prolog, for his elegant example. I first encountered his system as part of the excellent http://www.complang.tuwien.ac.at/ulrich/gupu/GUPU teaching environment by http://www.complang.tuwien.ac.at/ulrich/Ulrich Neumerkel . Ulrich was also the first and most determined tester of the present system, filing hundreds of comments and suggestions for improvement. https://people.cs.kuleuven.be/ tom.schrijvers/ Tom Schrijvers has contributed several constraint libraries to SWI-Prolog, and I learned a lot from his coding style and implementation examples. https://people.cs.kuleuven.be/ bart.demoen/ Bart Demoen was a driving force behind the implementation of attributed variables in SWI-Prolog, and this library could not even have started without his prior work and contributions. Thank you all!