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
|
6e9966fe9d
|
Bump up conreactor version to 0.9.3.
|
2018-12-28 11:57:27 +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
|
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
|
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
|
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
|
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
|
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
|
74402a8a1c
|
New rule matching algorithm
|
2018-08-03 11:48:23 +02:00 |
Fedor Isakov
|
6e0b9dee50
|
Switch to latest Kotlin release.
|
2018-03-05 12:02:37 +01:00 |
Fedor Isakov
|
11d87c7846
|
Minor performance tweaks.
|
2017-11-03 12:09:43 +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
|
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
|
e72585aa65
|
Refactoring Matcher, MatchTrie. Trying to optimize calls to lookupAuxOccurrences() by reusing the previous searches.
|
2017-07-15 13:36:01 +02:00 |
Fedor Isakov
|
90044e69c7
|
Update the copyright notice with the license. Remove obsolete artefacts and "generated" markings.
|
2017-06-05 15:16:19 +02:00 |
Fedor Isakov
|
7c5274aacb
|
Rename the maven projects and artefacts.
|
2017-06-05 13:38:31 +02:00 |
Fedor Isakov
|
0dcf1ecd81
|
Rename API interfaces for better readability.
|
2017-06-05 13:37:56 +02:00 |
Fedor Isakov
|
a23c0db226
|
Integrate unification into the Core module. Remove the unification lib and all its stuff.
|
2017-06-02 11:19:36 +02:00 |
Fedor Isakov
|
77662be281
|
Auto-changed .iml files. Switch to Kotlin 1.1.2. Switch to Dexx collection 0.7.
|
2017-06-01 15:11:54 +02:00 |
Fedor Isakov
|
c5c198cf8b
|
Refactoring in the reactor API: move invocation/occurrence factory methods to evaluation session, enable access to logical context from an invocation.
|
2017-03-27 19:01:07 +02:00 |
Fedor Isakov
|
cae150819f
|
Introduce StoreView as a parameter to launching evaluation session. Minor code refactoring/extracting.
|
2017-01-10 20:19:59 +01:00 |
Fedor Isakov
|
c68d9a0bd7
|
Refactoring the reactor API. Extract StoreView. Get rid of obsolete calls to SessionSolver, cleanup the interface. Introduce AbstractSolver. Move instantiation arguments to solver/program. Cleaning up the code.
|
2017-01-05 17:34:53 +01:00 |
Fedor Isakov
|
ebfe680aae
|
Refactoring the reactor API. Extract StoreView, get rid of obsolete calls to SessionSolver. Cleaning up the code.
|
2017-01-04 10:47:23 +01:00 |
Fedor Isakov
|
0771504044
|
Refactoring the reactor API, cleaning up the code.
|
2017-01-03 12:11:31 +01:00 |
Fedor Isakov
|
466c015263
|
Handlers to have multiple primary constraints. RuleIndex to select handlers with matching primary symbol, if a handler has one. Only "accept-all" handlers process non-primary constraints.
|
2016-12-28 12:54:19 +01:00 |
Fedor Isakov
|
26f12f187d
|
Refactor the evaluation controller to have handlers. RuleIndex to select handlers with matching primary symbol first, then the "accept-all" handlers. Tests.
|
2016-12-23 16:50:31 +01:00 |
Fedor Isakov
|
49a6ee0bd0
|
New naming convention for test helper classes (prefix Mock-).
|
2016-12-22 15:56:23 +01:00 |
Fedor Isakov
|
e80818607c
|
Introduce the Handler API.
|
2016-12-22 12:39:28 +01:00 |
Fedor Isakov
|
e6c7ee74f5
|
Renaming implementation classes to clean up the namespace.
|
2016-12-22 12:27:34 +01:00 |
Fedor Isakov
|
b891f0fa47
|
Optimizing the aux lookup of constraints by moving the constraint symbol to the top of the search term.
|
2016-12-14 17:07:58 +01:00 |
Fedor Isakov
|
90640f1d3d
|
Bumped up the kotlin version in maven project file. Switch to the latest dexx collections. Drop google collections (unused). Re-imported all maven projects.
|
2016-12-13 10:31:16 +01:00 |
Fedor Isakov
|
b02f3d727b
|
Fix infinite loop on cyclic terms. Detect term cycles while walking on put/remove/retrieve.
|
2016-12-06 16:58:15 +01:00 |
Fedor Isakov
|
7fe7662873
|
Fix the failing match if case of the wrong constraints order. Test.
|
2016-11-23 15:55:45 +01:00 |
Fedor Isakov
|
b4e9d45f7e
|
Enforce the constraint transparency contract on bound logicals: treat the value as the constraint argument. Remove misbehaving test.
|
2016-10-13 11:07:27 +02:00 |
Fedor Isakov
|
60cd075bf3
|
Specifying occurrence arguments to patternPredicates.
Correctly wrapping/unwrapping of arguments when matching rules.
Optimizing MatchTrie: process related occurrences first to avoid quadratic complexity.
|
2016-06-26 18:19:30 +02:00 |
Fedor Isakov
|
71810025e1
|
Itegrating the reactor API changes from the typechecker project.
|
2016-06-26 12:52:54 +02:00 |
Fedor Isakov
|
735c6b20e8
|
Switch to using JDK 1.8 for the project.
|
2016-06-24 14:22:22 +02:00 |
Fedor Isakov
|
61ef4ff4af
|
Refactor the way logical's parent update are handled in the occurrence store, fix the broken update leading to corrupted store.
Ensure constraint occurrences are alive before reactivating.
|
2016-06-16 11:48:06 +02:00 |
Fedor Isakov
|
ed2ff61ec4
|
Reimplemented TermTrie using discrimination trees.
|
2016-06-06 16:18:49 +02:00 |
Fedor Isakov
|
57a76ad43c
|
Fix memory leak
|
2016-06-02 12:20:00 +02:00 |