Fedor Isakov
|
5771d78b24
|
Logical with assigned value has higher rank. Notifications are to be dispatched accordingly.
|
2019-01-25 13:52:10 +01:00 |
Fedor Isakov
|
e645ac8a70
|
Support for unassigned logical variables in unification. Fix cycle not detected.
|
2019-01-25 11:37:18 +01:00 |
Fedor Isakov
|
b523467c5f
|
Test a weird case of rule not triggered for a particular combination of constraints.
|
2019-01-24 16:01:55 +01:00 |
Fedor Isakov
|
181ccedd95
|
Establish the contract of OccurrenceMatcher to fail appropriately on unassigned logicals.
Fix processing of reactivated constraints in RuleMatcher, fix propagation history.
Minor code refactorings. Tests.
|
2019-01-24 12:03:04 +01:00 |
Fedor Isakov
|
32601dc96a
|
Deprecate unused methods in conreactor.
|
2019-01-03 17:16:47 +01:00 |
Fedor Isakov
|
6e9966fe9d
|
Bump up conreactor version to 0.9.3.
|
2018-12-28 11:57:27 +01:00 |
Fedor Isakov
|
6953939e4a
|
Report unification of a logical with itself as a failure.
|
2018-12-28 11:57:27 +01:00 |
Fedor Isakov
|
6c0a9d404b
|
Properly process failed guard
|
2018-12-28 11:57:26 +01:00 |
Fedor Isakov
|
d61e8e1370
|
Ensure matched rule logical context provides all logicals with corresponding prototype meta-logicals.
|
2018-12-28 11:57:26 +01:00 |
Fedor Isakov
|
666f406335
|
Introduce VarSymbol interface to classify terms with "logical" symbol as wildcards in the term trie.
|
2018-12-28 11:57:26 +01:00 |
Fedor Isakov
|
8db1aead11
|
Fix propagate failure on on reactivated constraint. Always report a failure to avoid confusion with the trace view.
|
2018-11-20 22:39:30 +01:00 |
Fedor Isakov
|
087ccf4503
|
Fix matching single constraint on reactivation after a logical has been assigned.
|
2018-11-20 22:39:30 +01:00 |
Fedor Isakov
|
72e7fdfbfc
|
Ensure FailureHandler is consulted only if there are no more alternatives.
|
2018-11-20 22:39:29 +01:00 |
Fedor Isakov
|
7762095b8d
|
Bump up reactor version to 0.9.2
|
2018-11-04 12:54:32 +01:00 |
Fedor Isakov
|
1b584d2825
|
Reactor API changes: EvaluationResult and FailureHandler.
Failures are no longer propagated as exceptions, instead evaluation
returns optional failure.
|
2018-11-04 12:54:32 +01:00 |
Fedor Isakov
|
d091b291c3
|
Experimental alternative implementation of rule matching algo
|
2018-10-08 15:08:36 +02:00 |
Fedor Isakov
|
388999833e
|
Minor code optimization
|
2018-10-08 15:08:11 +02:00 |
Fedor Isakov
|
bc69a2e291
|
Minor code reorganization and refactoring. Extract MatchingProbe interface.
|
2018-10-05 11:25:29 +02:00 |
Fedor Isakov
|
6627c06490
|
Fix matching of reactivated constraints. Fix REF-ed MetaLogical. Minor code cleanup.
|
2018-09-13 13:52:33 +02:00 |
Fedor Isakov
|
55801449fe
|
Ignore IDEA's shelf files
|
2018-09-10 10:54:38 +02:00 |
Fedor Isakov
|
0d88525aa7
|
Optimize and reorganize occurrence matching
|
2018-09-10 10:16:34 +02:00 |
Fedor Isakov
|
a95b1c1311
|
Document and optimize implementation of PersistentTermTrie.
Introduce alternative "classic" implementation of TermTrie.
Switch to ClassicTermTrie.
|
2018-09-09 17:14:13 +02:00 |
Fedor Isakov
|
3bdcbc0aa8
|
Rename TermTrie -> PersistentTermTrie, remove dummy usages.
|
2018-09-08 13:16:43 +02:00 |
Fedor Isakov
|
56bed6d03d
|
Some more minor optimisations
|
2018-09-06 18:28:45 +02:00 |
Fedor Isakov
|
59a0d958d7
|
Minor optimisations and code cleanup
|
2018-09-05 17:14:24 +02:00 |
Fedor Isakov
|
d26b7197fd
|
Fix a bug in new matching algorithm that prevented correct matching of ref-ed metalogicals with terms.
|
2018-08-19 17:32:59 +02:00 |
Fedor Isakov
|
faaa9f12d6
|
Cleanup reactor code, drop obsolete code:
old matching algorithm implementation,
store occurrences indexing,
propagation history.
|
2018-08-04 16:10:35 +02:00 |
Fedor Isakov
|
75c6dff551
|
Optimizing new matching algorithm. Keep an index of occurrence slots for each rule.
|
2018-08-04 16:10:35 +02:00 |
Fedor Isakov
|
d8c2310f98
|
Deprecate primary symbols in handler. All usages are safe to be dropped.
|
2018-08-04 16:10:35 +02:00 |
Fedor Isakov
|
d023cf8466
|
Change reactor library version to 0.9.1 (new matching algo)
|
2018-08-03 11:48:35 +02:00 |
Fedor Isakov
|
862f7182ff
|
Fix double exec of rule builders. Ensure all rules have unique tags.
|
2018-08-03 11:48:35 +02:00 |
Fedor Isakov
|
44b2004091
|
Experimentally switch to the new matching algorithm
|
2018-08-03 11:48:31 +02:00 |
Fedor Isakov
|
74402a8a1c
|
New rule matching algorithm
|
2018-08-03 11:48:23 +02:00 |
Fedor Isakov
|
1609b5838d
|
Correct the path to git root
|
2018-07-26 16:12:31 +02:00 |
Fedor Isakov
|
814baf4bce
|
Update readme files.
|
2018-07-19 15:12:34 +02:00 |
Fedor Isakov
|
a3f431b6b8
|
Fix a concurrent modification problem introduced inadvertently.
|
2018-06-22 15:27:17 +02:00 |
Fedor Isakov
|
558b068895
|
Disable an awkward optimization that had caused problems (failure to yield a correct match).
|
2018-06-20 17:51:22 +02:00 |
Fedor Isakov
|
6e0b9dee50
|
Switch to latest Kotlin release.
|
2018-03-05 12:02:37 +01:00 |
Fedor Isakov
|
4ea4b5cae5
|
Automatically update files in .idea folder.
|
2018-03-05 11:56:32 +01:00 |
Fedor Isakov
|
3a4d1bf7ae
|
Another config file.
|
2017-11-09 12:02:59 +01:00 |
Fedor Isakov
|
7b113d5a21
|
Roll back an optimisation discriminating non-primary constraint symbols.
Doing so would change the semantics too much without apparent gains.
|
2017-11-09 12:02:27 +01:00 |
Fedor Isakov
|
2fb1f25d4c
|
Minor code cleanup
|
2017-11-06 16:37:37 +01:00 |
Fedor Isakov
|
11d87c7846
|
Minor performance tweaks.
|
2017-11-03 12:09:43 +01:00 |
Fedor Isakov
|
741a803553
|
Code cleanup in matcher.
|
2017-11-02 14:51:57 +01:00 |
Fedor Isakov
|
1b809205e5
|
Minor optimization and refactoring in rule matcher.
|
2017-10-31 12:27:39 +01:00 |
Fedor Isakov
|
c05dad493c
|
Reimplement unification algorithm in Kotlin using jtrove lib. Add dependency on trove4.
|
2017-10-30 18:22:02 +01:00 |
Fedor Isakov
|
d5cd9b825c
|
Avoid including value of a Logical into toString() results, as it may cause infinite loop.
|
2017-10-13 11:53:40 +02:00 |
Fedor Isakov
|
f65c0ce56e
|
Update kotlin version to 1.1.4.
|
2017-10-06 12:10:42 +02:00 |
Fedor Isakov
|
bfd6010b7d
|
Fix a bug in rule matching preventing good matches to be reported. Tests.
|
2017-10-06 12:09:57 +02:00 |
Fedor Isakov
|
3c96e3d36c
|
Rewrite TermTrie to not use recursion. Optimize put/lookup for speed.
|
2017-07-16 14:43:46 +02:00 |