3 * TS: Factored out option functionality into separate module.
4 * TS: Factored out utility code into separate module.
8 * TS: Changed chr_show_store/1 to use print/1 instead of write/1.
12 * TS: Removed spurious and conflicting operator definitions
13 for +, - and ? as mode declarations.
17 * TS: Added find_chr_constraint/1 functionality.
21 * TS: Improved compiler scalability: use nb_setval/2 to
22 remember compiled code through backtracking over
23 compilation process instead of assert/1.
24 * TS: Removed spurious comma from file.
28 * TS: Added option to disable toplevel constraint store printing.
29 * TS: Slightly improved hash table constraint store implementation.
33 * JW: Added patch from Jon Sneyers.
37 * TS: Improved head reordering heuristic.
38 * TS: Added support primitive for alternate built-in solver dependency.
42 * TS: Fixed bug that causes wrong output in chr_show_store.
46 * TS: Fixed several bugs in generation of debugable code.
50 * JW: Cleanup integration in SWI-Prolog environment:
51 - Extended SWI-Prolog library ordsets. Renamed ord_delete/3 to
52 ord_del_element/3 and ord_difference/3 to ord_subtract/3 for
54 - Renamed module find to chr_find to avoid name conflict and declared
55 preds as meta-predicate.
56 - Re-inserted and exported strip_attributes/2 and
57 restore_attributes/2 in hprolog.pl. Deleted hprolog: from
59 - Added dummy option declarations to bootstrap compiler.
60 - Fixed path problems in makefile (-p chr=.) and install new
62 - Fixed typo 'chr show_store' --> chr_show_store.
66 * JS: Added guard entailment optimizations and
67 new syntax for type and mode declarations.
71 * TS: Use prolog:message/3 hook to automatically print
72 contents of CHR constraint stores with query bindings
77 * TS: Bugfix in code generation. Reported by Lyosha Ilyukhin.
81 * TS: Updated hashtable stores. They now start small and expand.
85 * JW: Removed chr_pp: module prefixes
86 * JW: Updated Windows makefile.mak (more similar organisation, added check)
90 * TS: Added chr_hashtable_store library.
91 * TS: Added find library.
92 * TS: Added builtins library.
93 * TS: Added clean_code library.
94 * TS: Added binomial_heap library.
95 * TS: Added a_star library.
96 * TS: Added new intermediate bootstrapping step
97 * TS: Synchronized CHR compiler with most recent development version
101 "The new version of the compiler contains several new optimizations, both
102 fully automatic, such as the antimonotny-based delay avoidance (see
103 http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW385.abs.html for
104 the technical report), and enabled by mode declarations (see CHR
105 documentation), such as hashtable-based constraint indexes."
109 * JW: Added chr_messages.pl. Make all debug messages use the print_message/2
110 interface to enable future embedding.
114 * JW: Added chr:debug_interact/3 hook. Defined in chr_swi.pl to void
115 showing constraints first as goal and then as CHR call.
116 * JW: Added chr:debug_event/2 hook. Defined in chr_swi.pl to make the
117 CHR debugger honour a skip command from the Prolog tracer.
121 * JW: Added b (break) to the CHR debugger.
122 * TS: added chr_expandable/2 clause for pragma/2
126 * JW: fixed reference to format_rule/2.
127 * JW: Use select/3 rather than delete/3 in diff/2 in Tests/zebra.pl
128 * TS: CHR translation now leaves CHR store empty
132 * JW: added :- use_module(library(chr)) to all examples.
133 * JW: mapped -O --> option(optimize, full).
134 * JW: introduced file-search-path `chr' for clarity and to enable running
135 make check from the local environment instead of the public installation.
136 * JW: mapped prolog flag generate_debug_info --> option(debug, on)
137 * JW: Replaced the chr -> pl step with term_expansion/2.
138 * JW: Moved insert_declarations/2 to chr_swi.pl
142 * JW: fixed Undefined procedure: chr_runtime:run_suspensions_loop_d/1
143 * TS: Added <space> for creep and shortened debug line prefix to CHR:
147 * JW: Use \+ \+ in chr_compile/3 to undo changes to the constraint
148 pool. Regression test suite using "make check" works again.
152 * TS: Added skip and ancestor debug commands
156 * TS: Added bootstrapping process for CHR compiler using CHR.
157 * TS: CHR compiler now uses CHR.
158 * TS: Fixed bug in compilation of multi-headed simpagation rules.
159 * TS: Cleaned up compiler.
160 * TS: Added analysis + optimization for never attached constraints.
161 * TS: Exploit uniqueness (functional dependency) results to detect
162 set semantics type simpagation rules where one rule can be passive
163 * TS: Compiler generates 'chr debug_event'/1 calls
164 * TS: Rudimentary support for debugging.
165 option(debug,on) causes a trace of CHR events to be printed
169 * JW: Fix operator handling.
173 * JW: Integrated new version from Tom Schrijvers.