862 lines
23 KiB
Plaintext
862 lines
23 KiB
Plaintext
|
[Aug 12 2009]
|
||
|
|
||
|
* CHR: no debugging instrumentation for optimized code
|
||
|
|
||
|
[Jun 27 2008]
|
||
|
|
||
|
* CHR: ADDED error value for check_guard_bindings option:
|
||
|
throw error on guard binding
|
||
|
|
||
|
* CHR: ADDED error value for check_guard_bindings option:
|
||
|
throw error on guard binding
|
||
|
|
||
|
[May 22 2008]
|
||
|
|
||
|
* CHR: experimental detach code size reduction (bug fix)
|
||
|
|
||
|
[May 21 2008]
|
||
|
|
||
|
* CHR: reduce code size of attach and detach predicates (experimental)
|
||
|
|
||
|
[May 20 2008]
|
||
|
|
||
|
* CHR: chr_enum/1 (bug fix) and chr_enum/2 (with handler)
|
||
|
|
||
|
[May 18 2008]
|
||
|
|
||
|
* CHR: reinstate chr_enum/1
|
||
|
|
||
|
[May 14 2008]
|
||
|
|
||
|
* CHR: suppress printing of put_attr/3 at toplevel
|
||
|
|
||
|
[Apr 18 2008]
|
||
|
|
||
|
* MODIFIED: Renamed hash_term/2 to term_hash/2. Added hash_term/2 to
|
||
|
library(backcomp), so most code should not notice this.
|
||
|
|
||
|
[Feb 27 2008]
|
||
|
|
||
|
* ENHANCED: CHR performance of find_chr_constraint when called with nonvar argument
|
||
|
|
||
|
[Feb 14 2008]
|
||
|
|
||
|
* ENHANCED: CHR performance (minor issues)
|
||
|
|
||
|
[Feb 13 2008]
|
||
|
|
||
|
* FIX: CHR new C file for Windows
|
||
|
|
||
|
* FIX: CHR: single chr_support.c C file
|
||
|
|
||
|
[Feb 12 2008]
|
||
|
|
||
|
* ENHANCED: CHR: moved performance critical predicates to C
|
||
|
|
||
|
[Feb 11 2008]
|
||
|
|
||
|
* ENHANCED: CHR user-provided background knowledge (Jon Sneyers)
|
||
|
|
||
|
[Feb 10 2008]
|
||
|
|
||
|
* ENHANCED: CHR compiler performance
|
||
|
|
||
|
* ENHANCED: CHR compiler performance
|
||
|
|
||
|
[Jan 29 2008]
|
||
|
|
||
|
* EHANCED: CHR performance: compacted indexing code
|
||
|
|
||
|
[Jan 28 2008]
|
||
|
|
||
|
* ADDED: CHR: chr_constants/1 built-in type for enumerated constants
|
||
|
|
||
|
[Jan 27 2008]
|
||
|
|
||
|
* ENHANCED: CHR: performance improvements (success continuation, Prolog code optimization)
|
||
|
|
||
|
* COMPAT: Removed min_list/2 from library(hprolog) as this is now in library lists.
|
||
|
|
||
|
Jan 24, 2008
|
||
|
|
||
|
* TS: Exploit success continuation information.
|
||
|
|
||
|
Jan 23, 2008
|
||
|
|
||
|
* TS: Bug fix in continuation optimization.
|
||
|
* TS: Fixed singleton variable.
|
||
|
* TS: Suppress debug message.
|
||
|
|
||
|
Jan 22, 2008
|
||
|
|
||
|
* TS: Rewrite Prolog code: common prefix elimination in
|
||
|
successive clauses of the same predicate.
|
||
|
* TS: Tries stores enabled by default again.
|
||
|
* TS: Success and failure continuation optimization for
|
||
|
propagation occurrences.
|
||
|
|
||
|
Jan 14, 2008
|
||
|
|
||
|
* TS: Fix performance bug in locking of guard variables.
|
||
|
* TS: Fix performance bug in spurious hash_term call.
|
||
|
|
||
|
Jan 10, 2008
|
||
|
|
||
|
* TS: Type check constraint declarations.
|
||
|
* TS: Trie stores hidden behind `experimental' option.
|
||
|
* TS: New option `verbose' prints constraint indices.
|
||
|
* TS: Don't compute term_hash for int and natural types.
|
||
|
|
||
|
Jan 9, 2008
|
||
|
|
||
|
* TS: Avoid trivial warning for declare_stored_constraints.
|
||
|
* TS: Bug fix: missing full store was causing compiler to loop.
|
||
|
|
||
|
Jan 9, 2008
|
||
|
|
||
|
* TS: Bug fix: atomic_constants store was causing compiler
|
||
|
to loop.
|
||
|
* TS: Clean-up and avoid adding additional global_ground store
|
||
|
if atomic_constants store covers all cases.
|
||
|
* TS: Clean-up and bug fix.
|
||
|
|
||
|
Jan 7, 2008
|
||
|
|
||
|
* TS: Performance improvement: use new store
|
||
|
implementation for multi-argument lookups
|
||
|
on manifest ground terms. Should be faster than
|
||
|
hashtable.
|
||
|
|
||
|
Jan 4, 2008
|
||
|
|
||
|
* TS: Performance improvement: use new store
|
||
|
implementation for single-argument lookups
|
||
|
on manifest atomics. Should be faster than
|
||
|
hashtable. Will be generalized to arbitrary
|
||
|
manifest ground lookups and non-manifest
|
||
|
atomically typed lookups .
|
||
|
|
||
|
Jan 3, 2008
|
||
|
|
||
|
* TS: Modified error messages of declare_stored_constraints
|
||
|
option, to distinguish between stored, temporarily stored
|
||
|
and never stored.
|
||
|
* TS: write/1, writeln/1 and format/2 are now treated as non-binding
|
||
|
builtins.
|
||
|
* TS: Properly inline inthash constraint lookup.
|
||
|
|
||
|
Dec 31, 2007
|
||
|
|
||
|
* TS: Additional assertion # default(Goal) for the
|
||
|
declare_stored_constraints, which specifies that
|
||
|
an unconditional simplification rule for the constraint
|
||
|
must be added to the end of the program. The Goal
|
||
|
parameter specifies the goal of that rule, e.g.
|
||
|
true or fail or throw(...). Experimental.
|
||
|
|
||
|
Dec 29, 2007
|
||
|
|
||
|
* TS: Experimental option declare_stored_constraints for
|
||
|
telling the compiler to warn for stored constraints
|
||
|
that are not asserted to be stored. Use the
|
||
|
:- chr_constraint f(...) # stored.
|
||
|
notation for asserting that a constraint is expected to
|
||
|
be stored.
|
||
|
|
||
|
Dec 27, 2007
|
||
|
|
||
|
* TS: Inline constraint lookup.
|
||
|
|
||
|
* TS: Precompile term hashing.
|
||
|
|
||
|
Sep 26, 2007
|
||
|
|
||
|
* TS: Code cleaning was hampered by line numbers.
|
||
|
Reported by Mike Elston.
|
||
|
|
||
|
May 2, 2007
|
||
|
|
||
|
* PVW: Bug fix in observation analysis.
|
||
|
* PVW: Consistency checks of experimental history pragma.
|
||
|
|
||
|
Apr 5, 2007
|
||
|
|
||
|
* TS: Lessened worst bottlenecks in CHR compiler,
|
||
|
in the guard simplification phase.
|
||
|
|
||
|
Mar 26, 2007
|
||
|
|
||
|
* TS: Experimental dynattr option, for dynamic size attribute terms.
|
||
|
|
||
|
Mar 16, 2007
|
||
|
|
||
|
* TS: Extended observation analysis (abstract interpretation)
|
||
|
to deal with disjunctions. With Paolo Tacchella.
|
||
|
|
||
|
Mar 14, 2007
|
||
|
|
||
|
* TS: Renamed hprolog:substitute/4 to substitute_eq/4, because of
|
||
|
name conflict with library(edit).
|
||
|
|
||
|
Mar 12, 2007
|
||
|
|
||
|
* TS: Use line numbers in error and warning messages.
|
||
|
|
||
|
Mar 8, 2007
|
||
|
|
||
|
* TS: Added maintenance of line numbers through CHR compilation
|
||
|
as an option: chr_option(line_numbers,on).
|
||
|
|
||
|
Mar 5, 2007
|
||
|
|
||
|
* TS: Bug fix: setarg/3 instantiation error reported by Mike Elston.
|
||
|
Caused by missing suspension argument in debug off, optimize off
|
||
|
mode.
|
||
|
|
||
|
Feb 22, 2007
|
||
|
|
||
|
* LDK: O(1) removal from hashtables, with experimental
|
||
|
chr_option(ht_removal,on).
|
||
|
|
||
|
Jan 25, 2007
|
||
|
|
||
|
* PVW: Bugfixes for optional use of CHR constraints in rule guards.
|
||
|
|
||
|
Jan 18, 2007
|
||
|
|
||
|
* PVW: Optional use of CHR constraints in rule guards.
|
||
|
|
||
|
Nov 20, 2006
|
||
|
|
||
|
* TS: Bug fix in compiler_errors.pl.
|
||
|
|
||
|
Oct 25, 2006
|
||
|
|
||
|
* TS: Bug fix in occurrence subsumption by Jon Sneyers.
|
||
|
|
||
|
Oct 18, 2006
|
||
|
|
||
|
* TS: New preprocessor feature.
|
||
|
|
||
|
* TS: Parametrization of experimental chr_identifier type.
|
||
|
|
||
|
Oct 16, 2006
|
||
|
|
||
|
* TS: More inlining.
|
||
|
|
||
|
* TS: Stronger static type checking.
|
||
|
|
||
|
* TS: Omitted buggy FD analysis from bootstrapping process.
|
||
|
|
||
|
Oct 12, 2006
|
||
|
|
||
|
* TS: More inlining.
|
||
|
|
||
|
* TS: Experimental chr_identifier type.
|
||
|
|
||
|
Oct 10, 2006
|
||
|
|
||
|
* TS: Allow for empty type definitions aka phantom types. These are
|
||
|
useful for some type-level tricks. A warning is issued so the
|
||
|
user can check whether a phantom type is intended. No other
|
||
|
phantom type-specific checks are in place yet.
|
||
|
|
||
|
* TS: Fixed static type checking of built-in types.
|
||
|
|
||
|
Oct 9, 2006
|
||
|
|
||
|
* TS: The dense_int type can now appear on the rhs of type alias
|
||
|
definitions.
|
||
|
|
||
|
Oct 3, 2006
|
||
|
|
||
|
* TS: Fixed bug concerning matchings between ground and possibly
|
||
|
non-ground arguments.
|
||
|
|
||
|
Oct 2, 2006
|
||
|
|
||
|
* TS: Fixed a bug in code generation, overeager removal of a clause.
|
||
|
|
||
|
Sep 28, 2006
|
||
|
|
||
|
* TS: Refactored some code.
|
||
|
|
||
|
Sep 22, 2006
|
||
|
|
||
|
* TS: Add exception handler to initialize chr_leash in new threads.
|
||
|
|
||
|
Sep 18. 2006
|
||
|
|
||
|
* TS: Bug fix for programs in debugging mode.
|
||
|
|
||
|
Aug 30, 2006
|
||
|
|
||
|
* JW: Fixed make clean
|
||
|
* JW: Enlarged stacks to make build succeed
|
||
|
|
||
|
Aug 24, 2006
|
||
|
|
||
|
* JW: Add target ln-install
|
||
|
|
||
|
Aug 21, 2006
|
||
|
|
||
|
* TS: Fixed wrong arities in not inlined predicates. Mike Elston.
|
||
|
|
||
|
Aug 18, 2006
|
||
|
|
||
|
* TS: Code clean-up, more inlining, only generate used imports.
|
||
|
|
||
|
Aug 17, 2006
|
||
|
|
||
|
* TS: Inlining and more specialization of auxiliary predicates.
|
||
|
|
||
|
Aug 10, 2006
|
||
|
|
||
|
* TS: Fixed bug for constraints without rules in debug mode.
|
||
|
|
||
|
* TS: Compiler clean-up
|
||
|
|
||
|
* TS: Experimental var_assoc_store.
|
||
|
|
||
|
|
||
|
Aug 9, 2006
|
||
|
|
||
|
* TS: Various minor code generation improvements, including smaller
|
||
|
suspension terms.
|
||
|
|
||
|
Aug 8, 2006
|
||
|
|
||
|
* TS: Absolutely no lock checking when check_guard_bindings is disabled.
|
||
|
|
||
|
Aug 4, 2006
|
||
|
|
||
|
* TS: Minor optimizations for (-) arguments.
|
||
|
|
||
|
* TS: Important optimization for awakening fewer suspended constraints
|
||
|
|
||
|
Aug 3, 2006
|
||
|
|
||
|
* TS: Fixed typo in static type checker.
|
||
|
|
||
|
* TS: Documented static and dynamic type checking.
|
||
|
|
||
|
Aug 2, 2006
|
||
|
|
||
|
* TS: Fixed bug (type alias related) in static type checker. Mike Elston.
|
||
|
|
||
|
* TS: Added static type checking on variable matching in rule heads.
|
||
|
|
||
|
* TS: Added static type checking on CHR constraints in rule bodies.
|
||
|
|
||
|
Aug 1, 2006
|
||
|
|
||
|
* TS: New (limited) compile time type checking of rule heads.
|
||
|
|
||
|
Jul 28, 2006
|
||
|
|
||
|
* TS: New experimental robustness feature in debug mode:
|
||
|
runtime type checking of CHR constraints.
|
||
|
|
||
|
Jul 5, 2006
|
||
|
|
||
|
* TS: Minor bug fixes.
|
||
|
|
||
|
Jun 22, 2006
|
||
|
|
||
|
* TS: Improved performance of ai_observation_analysis,
|
||
|
mainly via additional tabling and passive declarations.
|
||
|
|
||
|
Jun 8, 2006
|
||
|
|
||
|
* TS: Disabled some code only intended for SICStus.
|
||
|
|
||
|
* TS: Fixed bug in removal of constraints. Spotted by Leslie De Koninck.
|
||
|
|
||
|
Jun 7, 2006
|
||
|
|
||
|
* TS: Next fix to tracer. Cconstraints in propagation
|
||
|
rules are shown in textual order.
|
||
|
|
||
|
Jun 2, 2006
|
||
|
|
||
|
* TS: Next few fixes to tracer. Constraints in simpagation rules
|
||
|
are now shown on the right side of the backslash.
|
||
|
|
||
|
Jun 1, 2006
|
||
|
|
||
|
* TS: Synchronization with SICStus version of K.U.Leuven CHR.
|
||
|
|
||
|
* TS: First few fixes to tracer. Cconstraints in simplification
|
||
|
rules are shown in textual order. Constraint insertions
|
||
|
are always shown.
|
||
|
|
||
|
May 17, 2006
|
||
|
|
||
|
* TS: Termination bug fixed in guard_entailment.
|
||
|
|
||
|
* TS: Runtime library predicate run_suspensions is now specialized
|
||
|
per constraint, avoiding requirement of fixed suspension layout.
|
||
|
|
||
|
* TS: Further update to suspension term layout. Only constraints for
|
||
|
which the propagation history is used get a history field.
|
||
|
|
||
|
May 9, 2006
|
||
|
|
||
|
* TS: Ignore propagation rules with trivial body 'true'.
|
||
|
|
||
|
Apr 24, 2006
|
||
|
|
||
|
* TS: Guard entailment now first simplifies the formula it processes,
|
||
|
in order to reduce the number of disjunctions, to obtain a smaller
|
||
|
search tree.
|
||
|
|
||
|
Apr 22, 2006
|
||
|
|
||
|
* TS: Bug fix by Jon Sneyers: type aliases now support built-in types.
|
||
|
Spotted by Mike Elston.
|
||
|
|
||
|
* TS: Small refactorings based on Ciao port experience.
|
||
|
|
||
|
* TS: Removed -singleton stylecheck option now that portray_clause
|
||
|
prints singleton variables as _.
|
||
|
|
||
|
Apr 19, 2006
|
||
|
|
||
|
* JW: Make library(chr) load its private stuff silent.
|
||
|
|
||
|
Apr 14, 2006
|
||
|
|
||
|
* TS: Bug fix: too many guards were locked.
|
||
|
|
||
|
Apr 11, 2006
|
||
|
|
||
|
* TS: Most runtime library predicates are now specialized
|
||
|
per constraint, avoiding generic =.. and lists code.
|
||
|
|
||
|
Mayor update to suspension term layout. Layout may now
|
||
|
differ from one constraint to the other. Some unused suspension
|
||
|
fields (continuation goal and generation number) are omitted.
|
||
|
Further analysis can remove more fields.
|
||
|
|
||
|
Default store constraints now each have
|
||
|
their own global variable: a list of all the suspensions.
|
||
|
Removal from this list is now O(1) thanks to setarg/1 and
|
||
|
back pointers in the suspension terms. This can cause time
|
||
|
time complexity improvements in solvers that always have
|
||
|
variable indexing on their constraints.
|
||
|
|
||
|
Ground, non-indexed constraints are now removed from
|
||
|
their global list store in O(1), as for the default store.
|
||
|
|
||
|
Minor bug fixes in a number of places.
|
||
|
|
||
|
Mar 16, 2006
|
||
|
|
||
|
* TS: Fixed subtle bug in ai_observation analysis,
|
||
|
that caused goal sequences to only generate
|
||
|
the optimistic default answer pattern, leading
|
||
|
to invalid 'not observed' conclusions.
|
||
|
* TS: Variable indexing/suspension analysis now ignores functor/3
|
||
|
in guards. Could be extended to other built-ins
|
||
|
that cause an error when arguments are not
|
||
|
properly instantiated.
|
||
|
|
||
|
Mar 11, 2006
|
||
|
|
||
|
* TS: Renamed global variable id to chr_id in chr_runtime.pl.
|
||
|
|
||
|
Mar 9, 2006
|
||
|
* JS: Synchronization with experimental version:
|
||
|
- minor optimizations, e.g. efficient lookups with statically known
|
||
|
instantiated data
|
||
|
- new alternative syntax for passive declarations
|
||
|
- new dense_int built-in type + underlying store
|
||
|
- new type alias definitions, like in Mercury
|
||
|
|
||
|
Mar 4, 2006
|
||
|
* BD: small changes in chr_compiler_options.pl and chr_translate.chr
|
||
|
affecting only the SICStus port
|
||
|
|
||
|
Mar 3, 2006
|
||
|
* BD: lots of changes related to porting to SICStus
|
||
|
* TS: Now exception/3 hook is only used in SWI-Prolog
|
||
|
|
||
|
Mar 2, 2006
|
||
|
|
||
|
* TS: Use exception/3 hook to catch undefined
|
||
|
global variables of chr_runtime.pl and CHR modules,
|
||
|
for multi-threaded programs and saved states.
|
||
|
|
||
|
Feb 9, 2006
|
||
|
|
||
|
* JW: Fix "make check" path issues.
|
||
|
* TS: Removed all is_chr_file tests when loading file.
|
||
|
|
||
|
Feb 8, 2006
|
||
|
|
||
|
* BD: chr_swi.pl: option(optimize --> :- chr_option(optimize
|
||
|
* TS: Removed obsolete experimental optimization option.
|
||
|
* TS: Correctly report variable pragmas!
|
||
|
* TS: No constraints declared is no longer a special case.
|
||
|
|
||
|
Jan 19, 2006
|
||
|
|
||
|
* BD: chr_swi.pl - use_module(hprolog added for SICStus port
|
||
|
* TS: Removed operator declaration for '::'. No longer used.
|
||
|
|
||
|
Dec 23, 2005
|
||
|
|
||
|
* TS: Removed chr_constraints declaration again, in favor
|
||
|
of only the chr_constraint declaration and modified
|
||
|
documentation accordingly.
|
||
|
* TS: Modified documentation based on recommendations of Bart Demoen.
|
||
|
* TS: Added chr_info/3 predicate to chr_compiler_errors, as suggested by
|
||
|
Jon Sneyers. Now print banner on calling compiler.
|
||
|
|
||
|
Dec 13, 2005
|
||
|
|
||
|
* TS: warnings are now written to user_error stream.
|
||
|
|
||
|
Dec 12, 2005
|
||
|
|
||
|
* TS: option and constraints declarations are now deprecated. They
|
||
|
are replaced by chr_option and chr_constraint(s).
|
||
|
* TR: Made an interface for warnings and errors. Errors now implemented
|
||
|
with exceptions.
|
||
|
* TR: Revised documentation.
|
||
|
|
||
|
Dec 2, 2005
|
||
|
* BD: chr_translate.chr, chr_translate_bootstrap2.chr
|
||
|
mutables "abstracted"
|
||
|
* BD: chr_translate_bootstrap1.chr
|
||
|
atomic_concat - some duplicate code of it is in more than one file :-(
|
||
|
create_get_mutable definitions if-deffed
|
||
|
verbosity_on/0 for porting
|
||
|
hprolog.pl
|
||
|
definitions of init_store/2, get_store/2, update_store/2
|
||
|
and of make_init_store_goal/make_get_store_goal/make_update_store_goal
|
||
|
removed prolog_flag/3 (seemed nowhere used)
|
||
|
chr_translate_bootstrap2.chr
|
||
|
make_init_store_goal/make_get_store_goal/make_update_store_goal introduced
|
||
|
verbosity_on/0 for porting
|
||
|
chr_translate_bootstrap.pl
|
||
|
atom_concat -> atomic_concat
|
||
|
verbosity_on/0 for porting
|
||
|
conditional import van library(terms)
|
||
|
chr_translate.chr
|
||
|
make_init_store_goal etc. introduced
|
||
|
create_get_mutable_ref wherever needed (chr_translate*)
|
||
|
|
||
|
|
||
|
Nov 30, 2005
|
||
|
* BD: chr_runtime.pl:
|
||
|
chr_init for SICStus
|
||
|
included contents of chr_debug.pl
|
||
|
removed show_store/1
|
||
|
create_mutable changed into 'chr create_mutable'
|
||
|
got rid of explicit inlining and did it by goal expansion
|
||
|
inlining also of 'chr default_store'
|
||
|
* BD: chr_swi.pl:
|
||
|
removed :- use_module(chr(chr_debug))
|
||
|
module header: version for SICStus
|
||
|
* BD: chr_debug.pl: emptied
|
||
|
* BD: chr_translate.chr:
|
||
|
system specific declarations factored out in insert_declarations
|
||
|
changed two atom_concat/3 into atomic_concat/3 (because arg 2 was sometimes an int)
|
||
|
* BD: chr_compiler_utility.pl:
|
||
|
put atomic_concat/3 there
|
||
|
adapted atom_concat_list/2 to use it
|
||
|
* BD: chr_swi_bootstrap.pl:
|
||
|
introduced chr_swi_bootstrap/2 for ease of porting
|
||
|
exported also chr_compile/3
|
||
|
porting code for get_time stuff/read_term/absolute_file_name
|
||
|
* BD: builtins.pl, a_star.pl, clean_code.pl:
|
||
|
some ifdefs
|
||
|
|
||
|
|
||
|
Nov 29, 2005
|
||
|
* BD: hprolog.pl: removed strip_attributes/2 and restore_attributes/2
|
||
|
|
||
|
Nov 29, 2005
|
||
|
* BD: chr_swi.pl: Removed code that took Handler for Module (in chr_expand(end_of_file)
|
||
|
Added :- chr_option(_,_) with same meaning as option(_,_)
|
||
|
is_chr_file: .chr is no longer a recognised suffix
|
||
|
added use_module(library(lists))
|
||
|
changed calls to source_location/2 into prolog_load_context/2
|
||
|
* BD: chr_translate.chr: chr_translate/2: added end_of_file to translated program
|
||
|
adapted SICStus compatibility message
|
||
|
made :- chr_option(_,_) available
|
||
|
changed precedence of + - ? to 980 (these ops are
|
||
|
probably not local enough to the module)
|
||
|
|
||
|
Nov 21, 2005
|
||
|
|
||
|
* TS: Further synchronization with hProlog.
|
||
|
|
||
|
Nov 18, 2005
|
||
|
|
||
|
* TS: Removed dead code in guard_entailment.chr
|
||
|
* TS: Fixed performance bug: now lookup is indexed
|
||
|
on maximal number of arguments.
|
||
|
* TS: Removed some redundant intermediate predicates
|
||
|
in chr_runtime.pl.
|
||
|
* TS: It is now possible to disable the printing
|
||
|
of the CHR constraint store per module,
|
||
|
through the option toplevel_show_store on/off
|
||
|
* TS: Synchronized with hProlog
|
||
|
* TS: bug fix in functional dependency analysis
|
||
|
|
||
|
Nov 17, 2005
|
||
|
|
||
|
* TS: Removed two dead predicates in chr_translate.chr
|
||
|
and hooked up the late_storage_analysis
|
||
|
that was being bypassed.
|
||
|
* TS: Renamed global_term_ref_1 to default_store.
|
||
|
* TS: Removed redundant predicate values_ht.
|
||
|
* TS: Compiler no longer generates dead code for never stored constraints,
|
||
|
i.e. attach/detach predicates.
|
||
|
This reduces the generated .pl by about 700 lines.
|
||
|
|
||
|
Nov 10, 2005
|
||
|
|
||
|
* TS: Two more bug fixes for constraints without
|
||
|
active occurrences that trigger.
|
||
|
|
||
|
Nov 4, 2005
|
||
|
|
||
|
* TS: Small optimization of code for constraints
|
||
|
without any active occurrence.
|
||
|
* TS: Fixed bug caused by previous bug fix:
|
||
|
added only_ground_indexed_arguments/1 test
|
||
|
to separate out that meaning from may_trigger/1.
|
||
|
|
||
|
Nov 3, 2005
|
||
|
|
||
|
* TS: Removed strip_attributes code.
|
||
|
* TS: Fixed bug that causes new constraints to be added on triggering.
|
||
|
|
||
|
Oct 25, 2005
|
||
|
|
||
|
* TS: Two minor bug fixes.
|
||
|
|
||
|
Oct 19, 2005
|
||
|
|
||
|
* TS: Fixed bug due to overly aggressive inlining of get_mutable_value.
|
||
|
|
||
|
Oct 18, 2005
|
||
|
|
||
|
* JS: Compiled code is broken, if debug is off and optimize too.
|
||
|
Debug off now entails optimize on.
|
||
|
|
||
|
* TS: Some fixes of the documentation. Thanks to Bart Demoen
|
||
|
and Thom Fruehwirth.
|
||
|
|
||
|
Sep 2, 2005
|
||
|
|
||
|
* TS: Synchronized with hProlog.
|
||
|
|
||
|
Aug 31, 2005
|
||
|
|
||
|
* TS: Added missing operator declarations for prefix (?).
|
||
|
|
||
|
Aug 9, 2005
|
||
|
|
||
|
* JW: import lists into chr_compiler_utility.pl
|
||
|
|
||
|
* JW: make message hook for query(yes) detect CHR global variables.
|
||
|
|
||
|
* JW: Exported pairlist_delete_eq/3 from pairlist and use this in
|
||
|
chr_hashtable_store.pl
|
||
|
|
||
|
Aug 4, 2005
|
||
|
|
||
|
* TS: Renamed pairlist:delete/3 to pairlist:pairlist_delete/3.
|
||
|
Mike Elston.
|
||
|
Aug 1, 2005
|
||
|
|
||
|
* TS: Extended more efficient ground matching code to
|
||
|
removed simpagation occurrence code.
|
||
|
|
||
|
Jul 28, 2005
|
||
|
|
||
|
* TS: New input verification: duplicate constraint declaration
|
||
|
now reported as an error. Requested by Mike Elston.
|
||
|
* TS: More efficient matching code for ground constraints
|
||
|
when matching an argument of a partner constraint with
|
||
|
a ground term
|
||
|
* JS: Bug fix in guard simplification.
|
||
|
|
||
|
Jul 3, 2005
|
||
|
|
||
|
* TS: Factored out option functionality into separate module.
|
||
|
* TS: Factored out utility code into separate module.
|
||
|
|
||
|
Jun 29, 2005
|
||
|
|
||
|
* TS: Changed chr_show_store/1 to use print/1 instead of write/1.
|
||
|
|
||
|
Jun 28, 2005
|
||
|
|
||
|
* TS: Removed spurious and conflicting operator definitions
|
||
|
for +, - and ? as mode declarations.
|
||
|
|
||
|
Jun 27, 2005
|
||
|
|
||
|
* TS: Added find_chr_constraint/1 functionality.
|
||
|
|
||
|
Jun 8, 2005
|
||
|
|
||
|
* TS: Improved compiler scalability: use nb_setval/2 to
|
||
|
remember compiled code through backtracking over
|
||
|
compilation process instead of assert/1.
|
||
|
* TS: Removed spurious comma from file.
|
||
|
|
||
|
Jun 1, 2005
|
||
|
|
||
|
* TS: Added option to disable toplevel constraint store printing.
|
||
|
* TS: Slightly improved hash table constraint store implementation.
|
||
|
|
||
|
Apr 16, 2005
|
||
|
|
||
|
* JW: Added patch from Jon Sneyers.
|
||
|
|
||
|
Mar 11, 2005
|
||
|
|
||
|
* TS: Improved head reordering heuristic.
|
||
|
* TS: Added support primitive for alternate built-in solver dependency.
|
||
|
|
||
|
Mar 4, 2005
|
||
|
|
||
|
* TS: Fixed bug that causes wrong output in chr_show_store.
|
||
|
|
||
|
Feb 25, 2005
|
||
|
|
||
|
* TS: Fixed several bugs in generation of debugable code.
|
||
|
|
||
|
Feb 19, 2005
|
||
|
|
||
|
* JW: Cleanup integration in SWI-Prolog environment:
|
||
|
- Extended SWI-Prolog library ordsets. Renamed ord_delete/3 to
|
||
|
ord_del_element/3 and ord_difference/3 to ord_subtract/3 for
|
||
|
better compatibility.
|
||
|
- Renamed module find to chr_find to avoid name conflict and declared
|
||
|
preds as meta-predicate.
|
||
|
- Re-inserted and exported strip_attributes/2 and
|
||
|
restore_attributes/2 in hprolog.pl. Deleted hprolog: from
|
||
|
chr_translate.chr.
|
||
|
- Added dummy option declarations to bootstrap compiler.
|
||
|
- Fixed path problems in makefile (-p chr=.) and install new
|
||
|
components.
|
||
|
- Fixed typo 'chr show_store' --> chr_show_store.
|
||
|
|
||
|
Feb 17, 2005
|
||
|
|
||
|
* JS: Added guard entailment optimizations and
|
||
|
new syntax for type and mode declarations.
|
||
|
|
||
|
Dec 15, 2004
|
||
|
|
||
|
* TS: Use prolog:message/3 hook to automatically print
|
||
|
contents of CHR constraint stores with query bindings
|
||
|
on toplevel.
|
||
|
|
||
|
Dec 3, 2004
|
||
|
|
||
|
* TS: Bugfix in code generation. Reported by Lyosha Ilyukhin.
|
||
|
|
||
|
Jul 28, 2004
|
||
|
|
||
|
* TS: Updated hashtable stores. They now start small and expand.
|
||
|
|
||
|
Jul 19, 2004
|
||
|
|
||
|
* JW: Removed chr_pp: module prefixes
|
||
|
* JW: Updated Windows makefile.mak (more similar organisation, added check)
|
||
|
|
||
|
Jul 17, 2004
|
||
|
|
||
|
* TS: Added chr_hashtable_store library.
|
||
|
* TS: Added find library.
|
||
|
* TS: Added builtins library.
|
||
|
* TS: Added clean_code library.
|
||
|
* TS: Added binomial_heap library.
|
||
|
* TS: Added a_star library.
|
||
|
* TS: Added new intermediate bootstrapping step
|
||
|
* TS: Synchronized CHR compiler with most recent development version
|
||
|
|
||
|
Summary of changes:
|
||
|
|
||
|
"The new version of the compiler contains several new optimizations, both
|
||
|
fully automatic, such as the antimonotny-based delay avoidance (see
|
||
|
http://www.cs.kuleuven.be/publicaties/rapporten/cw/CW385.abs.html for
|
||
|
the technical report), and enabled by mode declarations (see CHR
|
||
|
documentation), such as hashtable-based constraint indexes."
|
||
|
|
||
|
Apr 9, 2004
|
||
|
|
||
|
* JW: Added chr_messages.pl. Make all debug messages use the print_message/2
|
||
|
interface to enable future embedding.
|
||
|
|
||
|
Apr 7, 2004
|
||
|
|
||
|
* JW: Added chr:debug_interact/3 hook. Defined in chr_swi.pl to void
|
||
|
showing constraints first as goal and then as CHR call.
|
||
|
* JW: Added chr:debug_event/2 hook. Defined in chr_swi.pl to make the
|
||
|
CHR debugger honour a skip command from the Prolog tracer.
|
||
|
|
||
|
Apr 6, 2004
|
||
|
|
||
|
* JW: Added b (break) to the CHR debugger.
|
||
|
* TS: added chr_expandable/2 clause for pragma/2
|
||
|
|
||
|
Apr 5, 2004
|
||
|
|
||
|
* JW: fixed reference to format_rule/2.
|
||
|
* JW: Use select/3 rather than delete/3 in diff/2 in Tests/zebra.pl
|
||
|
* TS: CHR translation now leaves CHR store empty
|
||
|
|
||
|
Apr 4, 2004
|
||
|
|
||
|
* JW: added :- use_module(library(chr)) to all examples.
|
||
|
* JW: mapped -O --> option(optimize, full).
|
||
|
* JW: introduced file-search-path `chr' for clarity and to enable running
|
||
|
make check from the local environment instead of the public installation.
|
||
|
* JW: mapped prolog flag generate_debug_info --> option(debug, on)
|
||
|
* JW: Replaced the chr -> pl step with term_expansion/2.
|
||
|
* JW: Moved insert_declarations/2 to chr_swi.pl
|
||
|
|
||
|
Apr 2, 2004
|
||
|
|
||
|
* JW: fixed Undefined procedure: chr_runtime:run_suspensions_loop_d/1
|
||
|
* TS: Added <space> for creep and shortened debug line prefix to CHR:
|
||
|
|
||
|
Mar 29, 2004
|
||
|
|
||
|
* JW: Use \+ \+ in chr_compile/3 to undo changes to the constraint
|
||
|
pool. Regression test suite using "make check" works again.
|
||
|
|
||
|
Mar 25, 2004
|
||
|
|
||
|
* TS: Added skip and ancestor debug commands
|
||
|
|
||
|
Mar 24, 2004
|
||
|
G
|
||
|
* TS: Added bootstrapping process for CHR compiler using CHR.
|
||
|
* TS: CHR compiler now uses CHR.
|
||
|
* TS: Fixed bug in compilation of multi-headed simpagation rules.
|
||
|
* TS: Cleaned up compiler.
|
||
|
* TS: Added analysis + optimization for never attached constraints.
|
||
|
* TS: Exploit uniqueness (functional dependency) results to detect
|
||
|
set semantics type simpagation rules where one rule can be passive
|
||
|
* TS: Compiler generates 'chr debug_event'/1 calls
|
||
|
* TS: Rudimentary support for debugging.
|
||
|
option(debug,on) causes a trace of CHR events to be printed
|
||
|
|
||
|
Mar 15, 2004
|
||
|
|
||
|
* JW: Fix operator handling.
|
||
|
|
||
|
Mar 3, 2004
|
||
|
|
||
|
* JW: Integrated new version from Tom Schrijvers.
|