  Kiwi is a minimalist and extendable Constraint Programming (CP) solver
specifically designed for education. The particularities of Kiwi stand in its
generic trailing state restoration mechanism and its modulable use of
variables. By developing Kiwi, the author does not aim to provide an
alternative to full featured constraint solvers but rather to provide readers
with a basic architecture that will (hopefully) help them to understand the
core mechanisms hidden under the hood of constraint solvers, to develop their
own extended constraint solver, or to test innovative ideas.
