| Abderrahamane Aggoun and Nicolas Beldiceanu. Overview of the CHIP Compiler System. In Frederic Benhamou and Alain Colmerauer, editors, Constraint Logic Programming: Selected Research, pages 421--437. The MIT Press, Cambridge, MA, USA, 1993. |
....for reconstruction are trailing and recomputation. While recomputation computes everything from scratch, trailing records for each state changing operation the information necessary to undo its effect. Most current constraint programming systems are trailing based. Many of them, for example CHIP [2], cc(FD) 13] Eclipse [3] and clp(FD) 5] are built on top of Prolog, which itself is trailing based. But also systems that are not built on top of Prolog, like Screamer [12] Lisp) and ILOG Solver [6] C ) use trailing. Copying offers advantages with respect to expressiveness: multiple nodes ....
....if the contents of n 1 successive locations are changed, n 2 entries are added to the trail: one for the first location s address, a second entry for n, and n entries for the locations values. For a discussion of time stamps and a multiple value trail in the context of the CHIP system, see [1, 2]. Example Expl. Choices Fail. Sol. Depth Var. Constr. Alpha all 7435 7435 1 50 26 21 100 Queens one 115 22 1 97 100 14850 100 S Queens one 115 22 1 97 100 3 10 Queens all 6665 5942 724 29 10 135 10 S Queens all 6665 5942 724 29 10 3 Magic one 13 4 1 12 500 501 18 Knights one 266 12 1 265 ....
Abderrahamane Aggoun and Nicolas Beldiceanu. Overview of the CHIP Compiler System. In Frederic Benhamou and Alain Colmerauer, editors, Constraint Logic Programming: Selected Research, pages 421--437. The MIT Press, Cambridge, MA, USA, 1993.
....the availability of logic programming systems. They successfully integrated constraints and constraint propagation into programming systems that come with built in search. Most of todays constraint programming systems are constraint logic programming (CLP) systems that evolved from Prolog: CHIP [33, 2], Eclipse [154] clp(FD) 25] and its successor GNU Prolog [31] and SICStus [17] just to name a few. The CLP approach to search is adopted by cc(FD) 148] Jaffar and Maher give an overview on CLP in [59] Search All these systems have in common that they offer a fixed and small set of search ....
....Y Y=1 end Procedure definitions can use functional notation by using fun rather than proc, where the body of a functional definition is an expression: fun Inc X X 1 end proc Inc X Y Y=X 1 end Lists Complete lists can be written by enclosing the elements in square brackets. For example, [1 2] abbreviates 1 2 nil, which abbreviates (1 (2 nil) Infix Pairs The label # for pairs #(X Y) can be written infix: X#Y. Pattern Matching Programming with tuples and lists is greatly simplified by pattern matching. A pattern matching conditional case x of l(y 1 . y n ) then # 1 else # 2 ....
[Article contains additional citation context not shown here]
Abderrahamane Aggoun and Nicolas Beldiceanu. Overview of the CHIP compiler system. In Benhamou and Colmerauer [12], pages 421--437.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC