3 * JW: Exported pairlist_delete_eq/3 from pairlist and use this in
8 * TS: Extended more efficient ground matching code to
9 removed simpagation occurrence code.
13 * TS: New input verification: duplicate constraint declaration
14 now reported as an error. Requested by Mike Elston.
15 * TS: More efficient matching code for ground constraints
16 when matching an argument of a partner constraint with
18 * JS: Bug fix in guard simplification.
22 * TS: Factored out option functionality into separate module.
23 * TS: Factored out utility code into separate module.
27 * TS: Changed chr_show_store/1 to use print/1 instead of write/1.
31 * TS: Removed spurious and conflicting operator definitions
32 for +, - and ? as mode declarations.
36 * TS: Added find_chr_constraint/1 functionality.
40 * TS: Improved compiler scalability: use nb_setval/2 to
41 remember compiled code through backtracking over
42 compilation process instead of assert/1.
43 * TS: Removed spurious comma from file.
47 * TS: Added option to disable toplevel constraint store printing.
48 * TS: Slightly improved hash table constraint store implementation.
52 * JW: Added patch from Jon Sneyers.
56 * TS: Improved head reordering heuristic.
57 * TS: Added support primitive for alternate built-in solver dependency.
61 * TS: Fixed bug that causes wrong output in chr_show_store.
65 * TS: Fixed several bugs in generation of debugable code.
69 * JW: Cleanup integration in SWI-Prolog environment:
70 - Extended SWI-Prolog library ordsets. Renamed ord_delete/3 to
71 ord_del_element/3 and ord_difference/3 to ord_subtract/3 for
73 - Renamed module find to chr_find to avoid name conflict and declared
74 preds as meta-predicate.
75 - Re-inserted and exported strip_attributes/2 and
76 restore_attributes/2 in hprolog.pl. Deleted hprolog: from
78 - Added dummy option declarations to bootstrap compiler.
79 - Fixed path problems in makefile (-p chr=.) and install new
81 - Fixed typo 'chr show_store' --> chr_show_store.
85 * JS: Added guard entailment optimizations and
86 new syntax for type and mode declarations.
90 * TS: Use prolog:message/3 hook to automatically print
91 contents of CHR constraint stores with query bindings
96 * TS: Bugfix in code generation. Reported by Lyosha Ilyukhin.
100 * TS: Updated hashtable stores. They now start small and expand.
104 * JW: Removed chr_pp: module prefixes
105 * JW: Updated Windows makefile.mak (more similar organisation, added check)
109 * TS: Added chr_hashtable_store library.
110 * TS: Added find library.
111 * TS: Added builtins library.
112 * TS: Added clean_code library.
113 * TS: Added binomial_heap library.
114 * TS: Added a_star library.
115 * TS: Added new intermediate bootstrapping step
116 * TS: Synchronized CHR compiler with most recent development version
120 "The new version of the compiler contains several new optimizations, both
121 fully automatic, such as the antimonotny-based delay avoidance (see
122 http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW385.abs.html for
123 the technical report), and enabled by mode declarations (see CHR
124 documentation), such as hashtable-based constraint indexes."
128 * JW: Added chr_messages.pl. Make all debug messages use the print_message/2
129 interface to enable future embedding.
133 * JW: Added chr:debug_interact/3 hook. Defined in chr_swi.pl to void
134 showing constraints first as goal and then as CHR call.
135 * JW: Added chr:debug_event/2 hook. Defined in chr_swi.pl to make the
136 CHR debugger honour a skip command from the Prolog tracer.
140 * JW: Added b (break) to the CHR debugger.
141 * TS: added chr_expandable/2 clause for pragma/2
145 * JW: fixed reference to format_rule/2.
146 * JW: Use select/3 rather than delete/3 in diff/2 in Tests/zebra.pl
147 * TS: CHR translation now leaves CHR store empty
151 * JW: added :- use_module(library(chr)) to all examples.
152 * JW: mapped -O --> option(optimize, full).
153 * JW: introduced file-search-path `chr' for clarity and to enable running
154 make check from the local environment instead of the public installation.
155 * JW: mapped prolog flag generate_debug_info --> option(debug, on)
156 * JW: Replaced the chr -> pl step with term_expansion/2.
157 * JW: Moved insert_declarations/2 to chr_swi.pl
161 * JW: fixed Undefined procedure: chr_runtime:run_suspensions_loop_d/1
162 * TS: Added <space> for creep and shortened debug line prefix to CHR:
166 * JW: Use \+ \+ in chr_compile/3 to undo changes to the constraint
167 pool. Regression test suite using "make check" works again.
171 * TS: Added skip and ancestor debug commands
175 * TS: Added bootstrapping process for CHR compiler using CHR.
176 * TS: CHR compiler now uses CHR.
177 * TS: Fixed bug in compilation of multi-headed simpagation rules.
178 * TS: Cleaned up compiler.
179 * TS: Added analysis + optimization for never attached constraints.
180 * TS: Exploit uniqueness (functional dependency) results to detect
181 set semantics type simpagation rules where one rule can be passive
182 * TS: Compiler generates 'chr debug_event'/1 calls
183 * TS: Rudimentary support for debugging.
184 option(debug,on) causes a trace of CHR events to be printed
188 * JW: Fix operator handling.
192 * JW: Integrated new version from Tom Schrijvers.