1[Aug 12 2009]
2
3 * CHR: no debugging instrumentation for optimized code
4
5[Jun 27 2008]
6
7 * CHR: ADDED error value for check_guard_bindings option:
8   throw error on guard binding
9
10 * CHR: ADDED error value for check_guard_bindings option:
11   throw error on guard binding
12
13[May 22 2008]
14
15 * CHR: experimental detach code size reduction (bug fix)
16
17[May 21 2008]
18
19 * CHR: reduce code size of attach and detach predicates (experimental)
20
21[May 20 2008]
22
23 * CHR: chr_enum/1 (bug fix) and chr_enum/2 (with handler)
24
25[May 18 2008]
26
27 * CHR: reinstate chr_enum/1
28
29[May 14 2008]
30
31 * CHR: suppress printing of put_attr/3 at toplevel
32
33[Apr 18 2008]
34
35 * MODIFIED: Renamed hash_term/2 to term_hash/2.  Added hash_term/2 to
36   library(backcomp), so most code should not notice this.
37
38[Feb 27 2008]
39
40 * ENHANCED: CHR performance of find_chr_constraint when called with nonvar argument
41
42[Feb 14 2008]
43
44 * ENHANCED: CHR performance (minor issues)
45
46[Feb 13 2008]
47
48 * FIX: CHR new C file for Windows
49
50 * FIX: CHR: single chr_support.c C file
51
52[Feb 12 2008]
53
54 * ENHANCED: CHR: moved performance critical predicates to C
55
56[Feb 11 2008]
57
58 * ENHANCED: CHR user-provided background knowledge (Jon Sneyers)
59
60[Feb 10 2008]
61
62 * ENHANCED: CHR compiler performance
63
64 * ENHANCED: CHR compiler performance
65
66[Jan 29 2008]
67
68 * EHANCED: CHR performance: compacted indexing code
69
70[Jan 28 2008]
71
72 * ADDED: CHR: chr_constants/1 built-in type for enumerated constants
73
74[Jan 27 2008]
75
76 * ENHANCED: CHR: performance improvements (success continuation, Prolog code optimization)
77
78 * COMPAT: Removed min_list/2 from library(hprolog) as this is now in library lists.
79
80Jan 24, 2008
81
82  * TS: Exploit success continuation information.
83
84Jan 23, 2008
85
86  * TS: Bug fix in continuation optimization.
87  * TS: Fixed singleton variable.
88  * TS: Suppress debug message.
89
90Jan 22, 2008
91
92  * TS: Rewrite Prolog code: common prefix elimination in
93	successive clauses of the same predicate.
94  * TS: Tries stores enabled by default again.
95  * TS: Success and failure continuation optimization for
96	propagation occurrences.
97
98Jan 14, 2008
99
100  * TS: Fix performance bug in locking of guard variables.
101  * TS: Fix performance bug in spurious hash_term call.
102
103Jan 10, 2008
104
105  * TS: Type check constraint declarations.
106  * TS: Trie stores hidden behind `experimental' option.
107  * TS: New option `verbose' prints constraint indices.
108  * TS: Don't compute term_hash for int and natural types.
109
110Jan 9, 2008
111
112  * TS: Avoid trivial warning for declare_stored_constraints.
113  * TS: Bug fix: missing full store was causing compiler to loop.
114
115Jan 9, 2008
116
117  * TS: Bug fix: atomic_constants store was causing compiler
118	to loop.
119  * TS: Clean-up and avoid adding additional global_ground store
120	if atomic_constants store covers all cases.
121  * TS: Clean-up and bug fix.
122
123Jan 7, 2008
124
125  * TS: Performance improvement: use new store
126	implementation for multi-argument lookups
127	on manifest ground terms. Should be faster than
128	hashtable.
129
130Jan 4, 2008
131
132  * TS: Performance improvement: use new store
133	implementation for single-argument lookups
134	on manifest atomics. Should be faster than
135	hashtable. Will be generalized to arbitrary
136	manifest ground lookups and non-manifest
137	atomically typed lookups .
138
139Jan 3, 2008
140
141  * TS: Modified error messages of declare_stored_constraints
142	option, to distinguish between stored, temporarily stored
143	and never stored.
144  * TS: write/1, writeln/1 and format/2 are now treated as non-binding
145	builtins.
146  * TS: Properly inline inthash constraint lookup.
147
148Dec 31, 2007
149
150  * TS: Additional assertion # default(Goal) for the
151	declare_stored_constraints, which specifies that
152	an unconditional simplification rule for the constraint
153	must be added to the end of the program. The Goal
154	parameter specifies the goal of that rule, e.g.
155	true or fail or throw(...). Experimental.
156
157Dec 29, 2007
158
159  * TS: Experimental option declare_stored_constraints for
160	telling the compiler to warn for stored constraints
161	that are not asserted to be stored. Use the
162		:- chr_constraint f(...) # stored.
163	notation for asserting that a constraint is expected to
164	be stored.
165
166Dec 27, 2007
167
168  * TS: Inline constraint lookup.
169
170  * TS: Precompile term hashing.
171
172Sep 26, 2007
173
174  * TS: Code cleaning was hampered by line numbers.
175	Reported by Mike Elston.
176
177May 2, 2007
178
179  * PVW: Bug fix in observation analysis.
180  * PVW: Consistency checks of experimental history pragma.
181
182Apr 5, 2007
183
184  * TS: Lessened worst bottlenecks in CHR compiler,
185	in the guard simplification phase.
186
187Mar 26, 2007
188
189  * TS: Experimental dynattr option, for dynamic size attribute terms.
190
191Mar 16, 2007
192
193  * TS: Extended observation analysis (abstract interpretation)
194	to deal with disjunctions. With Paolo Tacchella.
195
196Mar 14, 2007
197
198  * TS: Renamed hprolog:substitute/4 to substitute_eq/4, because of
199	name conflict with library(edit).
200
201Mar 12, 2007
202
203  * TS: Use line numbers in error and warning messages.
204
205Mar 8, 2007
206
207  * TS: Added maintenance of line numbers through CHR compilation
208	as an option: chr_option(line_numbers,on).
209
210Mar 5, 2007
211
212  * TS: Bug fix: setarg/3 instantiation error reported by Mike Elston.
213	Caused by missing suspension argument in debug off, optimize off
214	mode.
215
216Feb 22, 2007
217
218 * LDK: O(1) removal from hashtables, with experimental
219        chr_option(ht_removal,on).
220
221Jan 25, 2007
222
223 * PVW: Bugfixes for optional use of CHR constraints in rule guards.
224
225Jan 18, 2007
226
227  * PVW: Optional use of CHR constraints in rule guards.
228
229Nov 20, 2006
230
231  * TS: Bug fix in compiler_errors.pl.
232
233Oct 25, 2006
234
235  * TS: Bug fix in occurrence subsumption by Jon Sneyers.
236
237Oct 18, 2006
238
239  * TS: New preprocessor feature.
240
241  * TS: Parametrization of experimental chr_identifier type.
242
243Oct 16, 2006
244
245  * TS: More inlining.
246
247  * TS: Stronger static type checking.
248
249  * TS: Omitted buggy FD analysis from bootstrapping process.
250
251Oct 12, 2006
252
253  * TS: More inlining.
254
255  * TS: Experimental chr_identifier type.
256
257Oct 10, 2006
258
259  * TS: Allow for empty type definitions aka phantom types. These are
260	useful for some type-level tricks. A warning is issued so the
261	user can check whether a phantom type is intended. No other
262	phantom type-specific checks are in place yet.
263
264  * TS: Fixed static type checking of built-in types.
265
266Oct 9, 2006
267
268  * TS: The dense_int type can now appear on the rhs of type alias
269	definitions.
270
271Oct 3, 2006
272
273  * TS: Fixed bug concerning matchings between ground and possibly
274 	non-ground arguments.
275
276Oct 2, 2006
277
278  * TS: Fixed a bug in code generation, overeager removal of a clause.
279
280Sep 28, 2006
281
282  * TS: Refactored some code.
283
284Sep 22, 2006
285
286  * TS: Add exception handler to initialize chr_leash in new threads.
287
288Sep 18. 2006
289
290  * TS: Bug fix for programs in debugging mode.
291
292Aug 30, 2006
293
294  * JW: Fixed make clean
295  * JW: Enlarged stacks to make build succeed
296
297Aug 24, 2006
298
299  * JW: Add target ln-install
300
301Aug 21, 2006
302
303  * TS: Fixed wrong arities in not inlined predicates. Mike Elston.
304
305Aug 18, 2006
306
307  * TS: Code clean-up, more inlining, only generate used imports.
308
309Aug 17, 2006
310
311  * TS: Inlining and more specialization of auxiliary predicates.
312
313Aug 10, 2006
314
315  * TS: Fixed bug for constraints without rules in debug mode.
316
317  * TS: Compiler clean-up
318
319  * TS: Experimental var_assoc_store.
320
321
322Aug 9, 2006
323
324  * TS: Various minor code generation improvements, including smaller
325	suspension terms.
326
327Aug 8, 2006
328
329  * TS: Absolutely no lock checking when check_guard_bindings is disabled.
330
331Aug 4, 2006
332
333  * TS: Minor optimizations for (-) arguments.
334
335  * TS: Important optimization for awakening fewer suspended constraints
336
337Aug 3, 2006
338
339  * TS: Fixed typo in static type checker.
340
341  * TS: Documented static and dynamic type checking.
342
343Aug 2, 2006
344
345  * TS: Fixed bug (type alias related) in static type checker. Mike Elston.
346
347  * TS: Added static type checking on variable matching in rule heads.
348
349  * TS: Added static type checking on CHR constraints in rule bodies.
350
351Aug 1, 2006
352
353  * TS: New (limited) compile time type checking of rule heads.
354
355Jul 28, 2006
356
357  * TS: New experimental robustness feature in debug mode:
358	runtime type checking of CHR constraints.
359
360Jul 5, 2006
361
362  * TS: Minor bug fixes.
363
364Jun 22, 2006
365
366  * TS: Improved performance of ai_observation_analysis,
367	mainly via additional tabling and passive declarations.
368
369Jun 8, 2006
370
371  * TS: Disabled some code only intended for SICStus.
372
373  * TS: Fixed bug in removal of constraints. Spotted by Leslie De Koninck.
374
375Jun 7, 2006
376
377  * TS: Next fix to tracer. Cconstraints in propagation
378	rules are shown in textual order.
379
380Jun 2, 2006
381
382  * TS: Next few fixes to tracer. Constraints in simpagation rules
383	are now shown on the right side of the backslash.
384
385Jun 1, 2006
386
387  * TS: Synchronization with SICStus version of K.U.Leuven CHR.
388
389  * TS: First few fixes to tracer. Cconstraints in simplification
390	rules are shown in textual order. Constraint insertions
391	are always shown.
392
393May 17, 2006
394
395  * TS: Termination bug fixed in guard_entailment.
396
397  * TS:  Runtime library predicate run_suspensions is now specialized
398	per constraint, avoiding requirement of fixed suspension layout.
399
400  * TS:	Further update to suspension term layout. Only constraints for
401	which the propagation history is used get a history field.
402
403May 9, 2006
404
405  * TS: Ignore propagation rules with trivial body 'true'.
406
407Apr 24, 2006
408
409  * TS: Guard entailment now first simplifies the formula it processes,
410	in order to reduce the number of disjunctions, to obtain a smaller
411	search tree.
412
413Apr 22, 2006
414
415  * TS: Bug fix by Jon Sneyers:  type aliases now support built-in types.
416	Spotted by Mike Elston.
417
418  * TS: Small refactorings based on Ciao port experience.
419
420  * TS: Removed -singleton stylecheck option now that portray_clause
421	prints singleton variables as _.
422
423Apr 19, 2006
424
425 * JW: Make library(chr) load its private stuff silent.
426
427Apr 14, 2006
428
429 * TS: Bug fix: too many guards were locked.
430
431Apr 11, 2006
432
433  * TS: Most runtime library predicates are now specialized
434	per constraint, avoiding generic =.. and lists code.
435
436	Mayor update to suspension term layout. Layout may now
437        differ from one constraint to the other. Some unused suspension
438        fields (continuation goal and generation number) are omitted.
439	Further analysis can remove more fields.
440
441        Default store constraints now each have
442        their own global variable: a list of all the suspensions.
443	Removal from this list is now O(1) thanks to setarg/1 and
444        back pointers in the suspension terms. This can cause time
445	time complexity improvements in solvers that always have
446	variable indexing on their constraints.
447
448        Ground, non-indexed constraints are now removed from
449	their global list store in O(1), as for the default store.
450
451	Minor bug fixes in a number of places.
452
453Mar 16, 2006
454
455  * TS: Fixed subtle bug in ai_observation analysis,
456        that caused goal sequences to only generate
457        the optimistic default answer pattern, leading
458        to invalid 'not observed' conclusions.
459  * TS: Variable indexing/suspension analysis now ignores functor/3
460        in guards. Could be extended to other built-ins
461        that cause an error when arguments are not
462        properly instantiated.
463
464Mar 11, 2006
465
466  * TS: Renamed global variable id to chr_id in chr_runtime.pl.
467
468Mar 9, 2006
469  * JS: Synchronization with experimental version:
470        - minor optimizations, e.g. efficient lookups with statically known
471          instantiated data
472        - new alternative syntax for passive declarations
473	- new dense_int built-in type + underlying store
474	- new type alias definitions, like in Mercury
475
476Mar 4, 2006
477  * BD: small changes in chr_compiler_options.pl and chr_translate.chr
478 	affecting only the SICStus port
479
480Mar 3, 2006
481  * BD: lots of changes related to porting to SICStus
482  * TS: Now exception/3 hook is only used in SWI-Prolog
483
484Mar 2, 2006
485
486  * TS: Use exception/3 hook to catch undefined
487        global variables of chr_runtime.pl and CHR modules,
488	for multi-threaded programs and saved states.
489
490Feb 9, 2006
491
492  * JW: Fix "make check" path issues.
493  * TS: Removed all is_chr_file tests when loading file.
494
495Feb 8, 2006
496
497  * BD: chr_swi.pl: option(optimize --> :- chr_option(optimize
498  * TS: Removed obsolete experimental optimization option.
499  * TS: Correctly report variable pragmas!
500  * TS: No constraints declared is no longer a special case.
501
502Jan 19, 2006
503
504  * BD: chr_swi.pl - use_module(hprolog added for SICStus port
505  * TS: Removed operator declaration for '::'. No longer used.
506
507Dec 23, 2005
508
509  * TS: Removed chr_constraints declaration again, in favor
510	of only the chr_constraint declaration and modified
511	documentation accordingly.
512  * TS: Modified documentation based on recommendations of Bart Demoen.
513  * TS: Added chr_info/3 predicate to chr_compiler_errors, as suggested by
514	Jon Sneyers. Now print banner on calling compiler.
515
516Dec 13, 2005
517
518  * TS: warnings are now written to user_error stream.
519
520Dec 12, 2005
521
522  * TS: option and constraints declarations are now deprecated. They
523        are replaced by chr_option and chr_constraint(s).
524  * TR: Made an interface for warnings and errors. Errors now implemented
525        with exceptions.
526  * TR: Revised documentation.
527
528Dec 2, 2005
529  * BD: chr_translate.chr, chr_translate_bootstrap2.chr
530	   mutables "abstracted"
531  * BD: chr_translate_bootstrap1.chr
532	   atomic_concat - some duplicate code of it is in more than one file :-(
533	   create_get_mutable definitions if-deffed
534	   verbosity_on/0 for porting
535	hprolog.pl
536	   definitions of init_store/2, get_store/2, update_store/2
537	   and of make_init_store_goal/make_get_store_goal/make_update_store_goal
538	   removed prolog_flag/3 (seemed  nowhere used)
539	chr_translate_bootstrap2.chr
540	   make_init_store_goal/make_get_store_goal/make_update_store_goal introduced
541	   verbosity_on/0 for porting
542	chr_translate_bootstrap.pl
543	   atom_concat -> atomic_concat
544	   verbosity_on/0 for porting
545	   conditional import van library(terms)
546	chr_translate.chr
547	   make_init_store_goal etc. introduced
548	create_get_mutable_ref wherever needed (chr_translate*)
549
550
551Nov 30, 2005
552  * BD: chr_runtime.pl:
553           chr_init for SICStus
554           included contents of chr_debug.pl
555           removed show_store/1
556           create_mutable changed into 'chr create_mutable'
557           got rid of explicit inlining and did it by goal expansion
558           inlining also of 'chr default_store'
559  * BD: chr_swi.pl:
560           removed :- use_module(chr(chr_debug))
561           module header: version for SICStus
562  * BD: chr_debug.pl: emptied
563  * BD: chr_translate.chr:
564	   system specific declarations factored out in insert_declarations
565	   changed two atom_concat/3 into atomic_concat/3 (because arg 2 was sometimes an int)
566  * BD: chr_compiler_utility.pl:
567	   put atomic_concat/3 there
568	   adapted atom_concat_list/2 to use it
569  * BD: chr_swi_bootstrap.pl:
570	   introduced chr_swi_bootstrap/2 for ease of porting
571	   exported also chr_compile/3
572           porting code for get_time stuff/read_term/absolute_file_name
573  * BD: builtins.pl, a_star.pl, clean_code.pl:
574	   some ifdefs
575
576
577Nov 29, 2005
578  * BD: hprolog.pl: removed strip_attributes/2 and restore_attributes/2
579
580Nov 29, 2005
581  * BD: chr_swi.pl: Removed code that took Handler for Module (in chr_expand(end_of_file)
582                    Added :- chr_option(_,_) with same meaning as option(_,_)
583                    is_chr_file: .chr is no longer a recognised suffix
584                    added use_module(library(lists))
585                    changed calls to source_location/2 into prolog_load_context/2
586  * BD: chr_translate.chr: chr_translate/2: added end_of_file to translated program
587                           adapted SICStus compatibility message
588                           made :- chr_option(_,_) available
589                           changed precedence of + - ? to 980 (these ops are
590                                     probably not local enough to the module)
591
592Nov 21, 2005
593
594  * TS: Further synchronization with hProlog.
595
596Nov 18, 2005
597
598  * TS: Removed dead code in guard_entailment.chr
599  * TS: Fixed performance bug: now lookup is indexed
600	on maximal number of arguments.
601  * TS: Removed some redundant intermediate predicates
602	in chr_runtime.pl.
603  * TS: It is now possible to disable the printing
604	of the CHR constraint store per module,
605	through the option toplevel_show_store on/off
606  * TS: Synchronized with hProlog
607  * TS: bug fix in functional dependency analysis
608
609Nov 17, 2005
610
611  * TS: Removed two dead predicates in chr_translate.chr
612	and hooked up the late_storage_analysis
613	that was being bypassed.
614  * TS: Renamed global_term_ref_1 to default_store.
615  * TS: Removed redundant predicate values_ht.
616  * TS: Compiler no longer generates dead code for never stored constraints,
617        i.e. attach/detach predicates.
618        This reduces the generated .pl by about 700 lines.
619
620Nov 10, 2005
621
622  * TS: Two more bug fixes for constraints without
623	active occurrences that trigger.
624
625Nov 4, 2005
626
627  * TS: Small optimization of code for constraints
628	without any active occurrence.
629  * TS: Fixed bug caused by previous bug fix:
630        added only_ground_indexed_arguments/1 test
631	to separate out that meaning from may_trigger/1.
632
633Nov 3, 2005
634
635  * TS: Removed strip_attributes code.
636  * TS: Fixed bug that causes new constraints to be added on triggering.
637
638Oct 25, 2005
639
640  * TS: Two minor bug fixes.
641
642Oct 19, 2005
643
644  * TS: Fixed bug due to overly aggressive inlining of get_mutable_value.
645
646Oct 18, 2005
647
648  * JS: Compiled code is broken, if debug is off and optimize too.
649	Debug off now entails optimize on.
650
651  * TS: Some fixes of the documentation. Thanks to Bart Demoen
652	and Thom Fruehwirth.
653
654Sep 2, 2005
655
656  * TS: Synchronized with hProlog.
657
658Aug 31, 2005
659
660  * TS: Added missing operator declarations for prefix (?).
661
662Aug 9, 2005
663
664  * JW: import lists into chr_compiler_utility.pl
665
666  * JW: make message hook for query(yes) detect CHR global variables.
667
668  * JW: Exported pairlist_delete_eq/3 from pairlist and use this in
669    chr_hashtable_store.pl
670
671Aug 4, 2005
672
673  * TS: Renamed pairlist:delete/3 to pairlist:pairlist_delete/3.
674	Mike Elston.
675Aug 1, 2005
676
677  * TS: Extended more efficient ground matching code to
678	removed simpagation occurrence code.
679
680Jul 28, 2005
681
682  * TS: New input verification: duplicate constraint declaration
683	now reported as an error. Requested by Mike Elston.
684  * TS: More efficient matching code for ground constraints
685	when matching an argument of a partner constraint with
686	a ground term
687  * JS: Bug fix in guard simplification.
688
689Jul 3, 2005
690
691  * TS: Factored out option functionality into separate module.
692  * TS: Factored out utility code into separate module.
693
694Jun 29, 2005
695
696  * TS: Changed chr_show_store/1 to use print/1 instead of write/1.
697
698Jun 28, 2005
699
700  * TS: Removed spurious and conflicting operator definitions
701	for +, - and ? as mode declarations.
702
703Jun 27, 2005
704
705  * TS: Added find_chr_constraint/1 functionality.
706
707Jun 8, 2005
708
709  * TS: Improved compiler scalability: use nb_setval/2 to
710        remember compiled code through backtracking over
711	compilation process instead of assert/1.
712  * TS: Removed spurious comma from file.
713
714Jun 1, 2005
715
716  * TS: Added option to disable toplevel constraint store printing.
717  * TS: Slightly improved hash table constraint store implementation.
718
719Apr 16, 2005
720
721  * JW: Added patch from Jon Sneyers.
722
723Mar 11, 2005
724
725  * TS: Improved head reordering heuristic.
726  * TS: Added support primitive for alternate built-in solver dependency.
727
728Mar 4, 2005
729
730  * TS: Fixed bug that causes wrong output in chr_show_store.
731
732Feb 25, 2005
733
734  * TS: Fixed several bugs in generation of debugable code.
735
736Feb 19, 2005
737
738  * JW: Cleanup integration in SWI-Prolog environment:
739	- Extended SWI-Prolog library ordsets.  Renamed ord_delete/3 to
740	  ord_del_element/3 and ord_difference/3 to ord_subtract/3 for
741	  better compatibility.
742	- Renamed module find to chr_find to avoid name conflict and declared
743	  preds as meta-predicate.
744	- Re-inserted and exported strip_attributes/2 and
745	  restore_attributes/2 in hprolog.pl. Deleted hprolog: from
746	  chr_translate.chr.
747	- Added dummy option declarations to bootstrap compiler.
748	- Fixed path problems in makefile (-p chr=.) and install new
749	  components.
750	- Fixed typo 'chr show_store' --> chr_show_store.
751
752Feb 17, 2005
753
754  * JS: Added guard entailment optimizations and
755	new syntax for type and mode declarations.
756
757Dec 15, 2004
758
759  * TS: Use prolog:message/3 hook to automatically print
760	contents of CHR constraint stores with query bindings
761	on toplevel.
762
763Dec  3, 2004
764
765  * TS: Bugfix in code generation. Reported by Lyosha Ilyukhin.
766
767Jul 28, 2004
768
769  * TS: Updated hashtable stores. They now start small and expand.
770
771Jul 19, 2004
772
773  * JW: Removed chr_pp: module prefixes
774  * JW: Updated Windows makefile.mak (more similar organisation, added check)
775
776Jul 17, 2004
777
778  * TS: Added chr_hashtable_store library.
779  * TS: Added find library.
780  * TS: Added builtins library.
781  * TS: Added clean_code library.
782  * TS: Added binomial_heap library.
783  * TS: Added a_star library.
784  * TS: Added new intermediate bootstrapping step
785  * TS: Synchronized CHR compiler with most recent development version
786
787  Summary of changes:
788
789   "The new version of the compiler contains several new optimizations, both
790    fully automatic, such as the antimonotny-based delay avoidance (see
791    http://www.cs.kuleuven.be/publicaties/rapporten/cw/CW385.abs.html for
792    the technical report), and enabled by mode declarations (see CHR
793    documentation), such as hashtable-based constraint indexes."
794
795Apr 9, 2004
796
797  * JW: Added chr_messages.pl.  Make all debug messages use the print_message/2
798    interface to enable future embedding.
799
800Apr 7, 2004
801
802  * JW: Added chr:debug_interact/3 hook.  Defined in chr_swi.pl to void
803    showing constraints first as goal and then as CHR call.
804  * JW: Added chr:debug_event/2 hook.  Defined in chr_swi.pl to make the
805    CHR debugger honour a skip command from the Prolog tracer.
806
807Apr 6, 2004
808
809  * JW: Added b (break) to the CHR debugger.
810  * TS: added chr_expandable/2 clause for pragma/2
811
812Apr 5, 2004
813
814  * JW: fixed reference to format_rule/2.
815  * JW: Use select/3 rather than delete/3 in diff/2 in Tests/zebra.pl
816  * TS: CHR translation now leaves CHR store empty
817
818Apr 4, 2004
819
820  * JW: added :- use_module(library(chr)) to all examples.
821  * JW: mapped -O --> option(optimize, full).
822  * JW: introduced file-search-path `chr' for clarity and to enable running
823    make check from the local environment instead of the public installation.
824  * JW: mapped prolog flag generate_debug_info --> option(debug, on)
825  * JW: Replaced the chr -> pl step with term_expansion/2.
826  * JW: Moved insert_declarations/2 to chr_swi.pl
827
828Apr 2, 2004
829
830  * JW: fixed Undefined procedure: chr_runtime:run_suspensions_loop_d/1
831  * TS: Added <space> for creep and shortened debug line prefix to CHR:
832
833Mar 29, 2004
834
835  * JW: Use \+ \+ in chr_compile/3 to undo changes to the constraint
836    pool.  Regression test suite using "make check" works again.
837
838Mar 25, 2004
839
840  * TS: Added skip and ancestor debug commands
841
842Mar 24, 2004
843G
844  * TS: Added bootstrapping process for CHR compiler using CHR.
845  * TS: CHR compiler now uses CHR.
846  * TS: Fixed bug in compilation of multi-headed simpagation rules.
847  * TS: Cleaned up compiler.
848  * TS: Added analysis + optimization for never attached constraints.
849  * TS: Exploit uniqueness (functional dependency) results to detect
850    set semantics type simpagation rules where one rule can be passive
851  * TS: Compiler generates 'chr debug_event'/1 calls
852  * TS: Rudimentary support for debugging.
853    option(debug,on) causes a trace of CHR events to be printed
854
855Mar 15, 2004
856
857  * JW: Fix operator handling.
858
859Mar 3, 2004
860
861  * JW: Integrated new version from Tom Schrijvers.
862