Fedor Isakov
fa2476fabb
Drop deprecated stuff from conreactor API.
2019-05-05 14:30:19 +02:00
Fedor Isakov
7e7dba455e
Move Kotlin compiler to "process-source" phase of Maven build.
2019-05-05 14:29:51 +02:00
Fedor Isakov
cc2774d66d
Refactorings in conreactor: better separation of concerns, cleaner interfaces.
...
Introduce Supervisor, extract evaluation-related stuff from Program, merge with EvaluationFeedbackHandler.
Move implementation of EvaluationFeedback to internal API, reduce number of public interfaces.
Cleaner interface for reporting feedback.
2019-05-05 13:52:26 +02:00
Fedor Isakov
09ca1f1236
Fix the Store implementation and the test harness to support incremental
...
program launch.
2019-05-03 22:03:17 +02:00
Fedor Isakov
59b6fb09fe
Rename some API interfaces to better reflect the intent.
2019-05-02 14:46:58 +02:00
Fedor Isakov
e270655a7f
Drop deprecated stuff in reactor.
2019-05-02 14:46:57 +02:00
Fedor Isakov
9db8bfcdca
Minor code cleanup and documentation.
...
Switch Dispatcher to use tag as Rule's unique identifier.
De-couple RuleMatcherImpl from the Rule instance.
Rule instances are externally provided, and in case of incremental
Program update these will be all replaced with new ones.
Better to keep loose coupling between those and the reactor implementation.
2019-05-01 15:36:59 +02:00
Fedor Isakov
3163324661
Deprecate unused Program's methods, remove unused code.
...
Amend the API to support justifications.
2019-05-01 15:36:59 +02:00
Fedor Isakov
7dcd683ba5
Enable EvaluationSession to have arbitrary parameters available at exec time.
...
Drop two obsolete interfaces.
2019-04-26 00:22:02 +02:00
Fedor Isakov
f5449801f6
Auto-updated copyright headers.
2019-04-24 21:21:03 +02:00
Fedor Isakov
f3d45d3a7b
Bump up Reactor lib's version to 0.9.9.
2019-04-24 21:21:03 +02:00
Fedor Isakov
a26dee8508
Merge API module into Core, drop API. Reactor lib to have only one jar.
2019-04-24 21:21:03 +02:00
Fedor Isakov
a9a7f66a3a
Refactorings and code cleanup in reactor lib. Documenting the code.
...
Breaking change: ReactorLifecycle to be used to initialize session
backend.
Remove deprecated stuff, deprecate some more.
Consolidate useless interfaces into bigger ones.
Extract interfaces for core classes, move implementation into "internal"
subpackage.
2019-04-24 21:21:03 +02:00
Fedor Isakov
19a096b12f
Drop obsolete code.
2019-04-24 21:21:03 +02:00
Fedor Isakov
116359ef2a
Switch to using IDEA 2019.1.
2019-04-19 11:50:03 +02:00
Fedor Isakov
cc1a98fa6d
Report tracing event "trying" after all pattern match predicates.
2019-04-19 11:50:03 +02:00
Fedor Isakov
109be1e564
Switch reactor to use Kotlin 1.3.
2019-04-11 11:05:11 +02:00
Fedor Isakov
8c25d50ea5
Introduce InvocationParameter to instantiateArguments.
2019-02-17 14:41:36 +01:00
Fedor Isakov
3f930ba530
Introduce solver() method to PredicateSymbol.
...
Drop requirement to provide evaluation session with list of solvers; remove unnecessary configuration step.
Minor refactorings in tests.
2019-02-17 11:39:56 +01:00
Fedor Isakov
dc8638996d
Bump up the conreactor version to 0.9.4.
2019-02-15 17:15:16 +01:00
Fedor Isakov
c8d7e52b6f
Introduce feedback handling API to facilitate processing of messages during program evaluation.
...
Minor refactorings in conreactor. Drop deprecated stuff. Default implementations for deprecated methods.
2019-02-15 17:15:09 +01:00
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
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
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
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
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
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
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
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
f8970f7825
Refactoring and reorganizing the matcher code, preparing for incremental matches search.
2017-07-11 14:21:25 +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
a70c5f6f02
Ensure the failure is only reported to the trace once.
2017-03-22 10:50:05 +01:00
Fedor Isakov
cab0931cc1
Report failure to the trace.
2017-02-27 16:06:32 +01:00
Fedor Isakov
c687908e1e
Fix copying occurrences from the store view
2017-02-25 18:35:37 +01: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
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
3dd42efe32
Include information of the parent activations in the profiling data.
2016-12-14 12:34:18 +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
bdc4701b23
Uptimizing the profiler. Ensure only the top 98% of the durations get reported.
2016-12-12 15:42:06 +01:00
Fedor Isakov
cb7dc76aa5
Simplify MatchTrie: no more additional nextSibling calculation, which had caused exponential search (yikes!); code cleanup.
2016-12-06 16:58:21 +01:00
Fedor Isakov
76fa878518
Report profiling results even on evaluation failure.
2016-12-06 16:58:21 +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
f1238b4e30
Implement missing methods.
2016-08-29 10:53:44 +02:00
Fedor Isakov
5ed7b207ca
Minor optimizations. Avoid calling toString() on symbols.
...
Avoid notifying on logical's value updated if the value is same.
Avoid calling unification on constraint/occurrence terms.
Some code cleanup.
2016-06-30 09:45:45 +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
735c6b20e8
Switch to using JDK 1.8 for the project.
2016-06-24 14:22:22 +02:00
Fedor Isakov
34dc1208f3
Avoid runnig potentially unsafe code in finally{}, which can mask the original exception.
2016-06-24 14:21:36 +02:00
Fedor Isakov
2ae25c6756
Make use of LogicalOwner interface to avoid creating logicals that have other logical as value.
2016-06-24 14:20:42 +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
0699c7f6ad
Move IdHashSet to util.
2016-06-16 11:46:39 +02:00
Fedor Isakov
8300fbb817
Optimization in occurrence store: avoid calling remove on TermTrie: very expensive. Some code cleanup and refactoring.
2016-06-08 11:17:38 +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
Fedor Isakov
ab23988887
Profiling processing of occurrences.
2016-06-02 11:57:12 +02:00
Fedor Isakov
61b488aebd
Cleaning up TermTrie code.
2016-06-02 11:56:14 +02:00
Fedor Isakov
8185605e99
Optimizing term trie and rules index. Using bitset to mark value tokens incidental with nodes in the "term superposition" of term trie.
2016-06-02 11:03:19 +02:00
Fedor Isakov
0f7ffd9141
Support for triggering arbitrary predicates on an occurrence match with a head's rule.
...
Properly handling constraint pattern/occurrence match with values/variables on either side using modal unificaiton.
2016-05-27 20:55:31 +02:00
Fedor Isakov
5c2b1539c9
TermTrie: introduce value tokens; ensure the value can be retrieved iff all the term's leaves match.
2016-05-27 20:55:31 +02:00
Fedor Isakov
1652eacfe3
Integrating TermTrie in the occurrence store.
2016-05-22 17:09:02 +02:00
Fedor Isakov
e9969b08b7
Integrating TermTrie in the rules index, tests.
2016-05-22 15:44:35 +02:00
Fedor Isakov
82d5763039
TermTrie: maintaining the order of the values.
2016-05-19 20:31:05 +02:00
Fedor Isakov
b42f005c7e
TermTrie: supporting term variables.
2016-05-19 16:39:52 +02:00
Fedor Isakov
a44366921b
TermTrie: building an index of rules/occurrences from term values. Term variables not yet supported.
2016-05-18 15:44:56 +02:00
Fedor Isakov
e1e642deca
Optimizing logical observers manipulation: get rid of linear search.
2016-05-10 11:24:06 +02:00
Fedor Isakov
79e920c546
Refactoring utility classes to a separate package
2016-05-10 10:09:18 +02:00
Fedor Isakov
b54673b5a8
Matcher optimizations: get rid of sequence and flatMap, re-implement iterating over MatchTrie using primitives, ensure no exponential search is necessary.
2016-05-10 10:04:32 +02:00
Fedor Isakov
22d208ee74
Two more optimizations in MatchTrie: early cutoff of deadend branches; ensure candidate occurrences match constraints.
2016-04-26 17:39:28 +02:00
Fedor Isakov
b5f495d6f7
Another major optimization in the matcher: lazily initialize MatchTrie. Update OccurrenceStore on logical value updated.
2016-04-26 13:22:19 +02:00
Fedor Isakov
43e9b35e1e
Some more minor optimizations in the match processing. Minor code refactorings.
2016-04-24 17:53:49 +02:00
Fedor Isakov
7095551b7f
Minor optimization in the match processing.
2016-04-22 13:25:41 +02:00
Fedor Isakov
2d46cd9542
Rewritten Matcher to not rely on Sequence and flatMap, instead using MatchTrie. OccurrenceIndex interface made clear. Some minor code optimizations.
2016-04-21 20:49:06 +02:00
Fedor Isakov
efc293b495
Switch to the latest version of Kotlin.
2016-04-17 15:47:41 +02:00
Fedor Isakov
e2209fa93e
Minor optimizations in unifier and matcher.
2016-04-16 19:23:19 +02:00
Fedor Isakov
d0bf94fc91
Support body alternation in Handler. Adopt the changes in the API.
2016-04-15 13:59:23 +02:00
Fedor Isakov
678ab96773
Introduce HandlerFrame. Building the framework for supporting disjuctions in rule productions.
2016-04-08 16:02:28 +02:00
Fedor Isakov
e55108030b
Avoid dependency of Handler onto Solver. Access solver via the evaluation session.
2016-04-07 11:40:50 +02:00
Fedor Isakov
d7c0060724
Make PropagationHistory persistent (functional).
2016-04-06 16:53:29 +02:00
Fedor Isakov
a1a17426b7
Extract PropagationHistory. Code refactoring and cleanup in preparation to switching to persistent OccurrenceStore and Handler.
2016-04-06 13:23:04 +02:00
Fedor Isakov
15630b1582
Integrate changes in the API: EvaluationTrace. Updated the Handler to reflect the changes.
2016-03-17 13:45:50 +01:00
Fedor Isakov
8c103ddbd1
Integrate changes in the API imported from the Logic project. Change the code accordingly.
2016-03-16 16:26:25 +01:00
Fedor Isakov
c8812c139e
Adopted the unification lib as part of this project.
2016-03-10 12:14:18 +01:00
Fedor Isakov
4b1db276bc
Switch to persistent set of IdWrapper. Minor adjustments in the profiling setup.
2016-03-09 16:03:53 +01:00
Fedor Isakov
6089f8c5ff
Optimize selection of rules to try based on the values in the constraint arguments
2016-03-09 15:14:51 +01:00
Fedor Isakov
64591e113b
Attempting optimizations in the matcher. Minor refactorings.
2016-03-08 11:40:31 +01:00
Fedor Isakov
ec6ce31cc2
Propagation history feature, tests. Minor refactorings.
2016-03-07 15:23:57 +01:00
Fedor Isakov
63bb7f578d
Ensure the null value is never exposed when merging variable (ground-free)
2016-03-03 16:42:09 +01:00
Fedor Isakov
701a434d69
Reactivate occurrences on union of var arguments. Tests.
2016-03-03 12:58:53 +01:00
Fedor Isakov
286fa4c5e6
Clean profiler data at the end of session run
2016-02-24 14:55:15 +01:00
Fedor Isakov
6cfa569663
Switch to the latest Kotlin RC 1050
2016-02-11 16:49:36 +01:00
Fedor Isakov
d38373fc79
No more dumping of activation stack on an error
2016-02-11 16:33:35 +01:00
Fedor Isakov
619337151f
Updated API sources from the latest version of Logic. Adapted to the new API. LogicalPattern -> MetaLogical. Renamed all *pattern entities. RuleBuilder for tests.
2016-01-29 14:41:57 +01:00
Fedor Isakov
fb65c965c4
Switch to Kotlin 1.0.0 RC
2016-01-25 23:17:59 +01:00
Fedor Isakov
322485c046
Index occurrences by value.
...
Lookup of occurrences in the store is forced to match value OR logical (probably need both).
2016-01-25 18:00:18 +01:00
Fedor Isakov
c557bbab97
Force occurrences matching with free logicals to fail if no occurrences with those logicals.
...
Fix occurrence store to always take the representative of a logical.
2016-01-25 14:17:38 +01:00
Fedor Isakov
ed76bdae73
Optimizing looking up constraint occurrences to complete a match.
...
Parent observer for logicals, maintaining the logical-to-occurrence index in occurrence store.
Some code refactoring.
2016-01-24 20:45:46 +01:00
Fedor Isakov
b8aa435eb4
Introduced Profiler to track bottlenecks. Some obvious optimizations. Refactoring for cleaner code.
2016-01-21 11:44:52 +01:00
Fedor Isakov
1dd3294483
Updated the unification lib to 1.0.2
2016-01-19 12:58:39 +01:00
Fedor Isakov
caf7ba78f9
Make sure logical instances have unique symbols (a unification lib's requirement)
2016-01-19 12:03:55 +01:00
Fedor Isakov
945f1c12f5
Fix logical pattern to logical mapping. Various small fixes.
2016-01-13 23:21:16 +01:00
Fedor Isakov
3cf3f4b21d
Updated API sources from the latest version of Logic. Adapted to the new API. Invocation/occurrence arguments.
2016-01-13 23:09:53 +01:00
Fedor Isakov
bedb9592a0
Updated API sources from the latest version of Logic. Adapted to the new API. Activation stack.
2016-01-11 16:07:52 +01:00
Fedor Isakov
e97b854f4c
Updated API sources from the latest version of Logic. Adapted to the new API.
2016-01-09 02:14:10 +01:00
Fedor Isakov
057c4d7c69
Logical value observers. Testing reactivation of constraint occurrences.
2016-01-08 15:11:09 +01:00
Fedor Isakov
b90bdc84c4
MemLogicalPattern. Switch to using MemLogical in tests.
2016-01-07 12:56:13 +01:00
Fedor Isakov
8aa6b04c70
Extract away program builder-related stuff: this part is going to be provided by the reactor's client
2016-01-07 12:07:55 +01:00
Fedor Isakov
c3bfcc9311
Updated API sources from the latest version of Logic. Adapted to the new API.
2016-01-06 20:30:54 +01:00
Fedor Isakov
2dfe0db180
Ensure evaluation session is cleared on exit
2016-01-05 12:44:00 +01:00
Fedor Isakov
406c8c3af1
Updated the maven artifacts packaging
2015-12-28 10:35:40 +01:00
Fedor Isakov
2f38824ed5
Updated API sources from the latest version of Logic. Adapted to the new API.
2015-12-27 23:42:58 +01:00
Fedor Isakov
b80da31c1b
Testing and fixing the handler semantics. Drop matches with occurrences that are no longer alive.
2015-12-27 00:18:26 +01:00
Fedor Isakov
c64bbfb240
Removed superfluous libs
2015-12-25 13:30:56 +01:00
Fedor Isakov
20948a859c
First real program working
2015-12-25 10:32:05 +01:00
Fedor Isakov
49ebcab10d
Testing EvaluationSession and SessionSolver
2015-12-24 19:15:40 +01:00
Fedor Isakov
a58af2c921
Upgraded to the latest Kotlin beta
2015-12-23 16:43:37 +01:00
Fedor Isakov
a3346ae57f
Adapting to changes in the API. Implemented LogicalContext. Generifying code in tests. Testing LogicalPattern.
2015-12-23 16:26:35 +01:00
Fedor Isakov
c04ecab6d0
Switched to using LogicalContext for the rule matching, tests
2015-12-22 11:08:00 +01:00
Fedor Isakov
03787eb8fe
Implemented rule matcher using unification lib.
...
Refactor the code into handler and matcher.
Tests separation and cleanup.
2015-12-18 22:28:36 +01:00
Fedor Isakov
d1604d317f
Hardcoded version in pom.xml everywhere, IDEA project structure auto-updated from pom's
2015-12-17 17:35:09 +01:00
Fedor Isakov
ecc640258a
Imported unification lib using maven via JitPack.io. Set up build using maven
2015-12-13 17:24:14 +01:00
Fedor Isakov
8f75050b2e
Imported unification lib using maven via JitPack.io
2015-12-12 22:50:05 +01:00
Fedor Isakov
1c9ce1f5f5
Basic guards support.
2015-12-10 23:15:51 +01:00
Fedor Isakov
d15f6908d5
Initial support for logicals. Small refactoring in tests.
2015-12-10 14:27:03 +01:00
Fedor Isakov
fc372c1420
Initial support for expressions
2015-12-09 17:18:42 +01:00
Fedor Isakov
a7708f3974
Adapting to the latest reactor API. RuleHandler and tests (no predicates yet).
2015-12-09 00:26:37 +01:00
Fedor Isakov
1ce311a0bf
Update kotlin to the latest beta, make all dependencies on kotlin "compile"
2015-12-09 00:25:24 +01:00
Fedor Isakov
e07f608b04
Implementing EvaluationSession
2015-12-03 21:55:03 +01:00
Fedor Isakov
50332e1e56
Added dexx library
2015-12-03 21:55:03 +01:00
Fedor Isakov
80b2cd5e4c
Planning session implementation. Removed Bridge module
2015-12-03 21:55:03 +01:00
Fedor Isakov
ff71c6f990
Rules builder using the Kotlin builder pattern
2015-11-22 22:35:54 +01:00
Fedor Isakov
77c827f8cd
Started with tests. Switched to kotlin runtime+stdlib from Maven
2015-11-22 18:39:36 +01:00
Fedor Isakov
9632742625
Imported new sources for the API
2015-11-22 15:52:12 +01:00