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