Fedor Isakov
1c61352068
Bump up reactor lib's version to 0.9.13.
2019-09-10 13:21:07 +02:00
Fedor Isakov
5cb4e0b289
Deprecate getting "current" EvaluationSession.
2019-09-10 13:19:59 +02:00
Fedor Isakov
487df639e5
Drop unused methods from EvaluationSession.
...
Having unused methods is confusing.
2019-09-10 13:17:34 +02:00
Fedor Isakov
af212ca92e
Refactoring EvaluationSession(Ex): drop controller accessor.
...
The inverse reference to controller from Evaluation session considered harmful.
Drop controller from EvaluationSession, drop ask/tell from EvaluationSession, extend InvocationContext with controller and supervisor accessors.
2019-09-10 13:08:53 +02:00
Fedor Isakov
279678b219
Ensure all feedback gets reported to trace.
2019-09-03 14:53:11 +02:00
Fedor Isakov
a6aed2c22c
Bump up the reactor lib version to 0.9.12.
2019-09-02 17:27:47 +02:00
Fedor Isakov
4080ab519a
Extend EvaluationFeedback with specific methods for creating details feedback; introduce details parameter.
2019-09-02 17:18:02 +02:00
Fedor Isakov
13526ded21
Prevent ephemeral messages caused by failed ask to propagate.
...
A failed ask predicate constitutes normal evaluation flow, no need to report
this to the user.
2019-08-28 17:46:34 +02:00
Grigorii Kirgizov
98356f25cc
rebase on master. remove extra deps in coderules generator
2019-08-22 15:16:17 +02:00
Grigorii Kirgizov
906f919e16
Run coderules program analyses at generation stage. Extend Rule with basetag(). Adjust how rule_tag is generated for reuse in generator.
...
basetag() returns name of ConstraintRule without node id.
Check on whether Rule is principal are now done through basetag(), it's sufficient.
Add part of future analysis: CallerTableBuilder.
2019-08-22 15:16:17 +02:00
Grigorii Kirgizov
b4a012c61b
fix type error in kotlin smart cast
2019-08-22 15:16:17 +02:00
Grigorii Kirgizov
9b472f5c15
Fix last() behavior for history: use constant-time getLast() in case of LinkedList
2019-08-22 15:16:17 +02:00
Fedor Isakov
ed79a8b9b9
Fix TermTrie not processing correctly ref to a Nil.
...
The code in ClassicTermTrie that is responsible for recursion guarding
when processing cyclic terms, used to mismatch valid pattern term
containing ref to a Nil term, which is a constant.
2019-08-10 15:18:04 +02:00
Fedor Isakov
a74831ad95
Bump up reactor version to 0.9.11.
2019-07-30 13:28:31 +02:00
Fedor Isakov
d647a31e1d
Switch reactor to JDK 11, kotlin lib to 1.3.31.
2019-07-30 13:27:27 +02:00
Grigorii Kirgizov
b7b5ece832
Adjust notion of principal rule in analysis. Reenable assert in ProcessingStateImpl.
...
Now any rule matching on or activating principal constraints counts as principal.
2019-07-29 20:25:25 +03:00
Fedor Isakov
9a5b9f0b51
Temporarily disable failing assertion.
2019-07-29 13:42:33 +02:00
Fedor Isakov
ba604c2f80
Use ArrayList for history, avoid linear time for last() method.
2019-07-29 13:42:33 +02:00
Grigorii Kirgizov
cf5d2ae712
Fix incorrect behavior in journal.reset() in some cases, reenable tests for that.
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
fb384dab39
Use embedded profiling for incremental passes
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
8ed7eb3c02
Change signature of Supervisor to handle RuleMatch instead of Rule
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
be7283190f
Propagate FeedbackStatus out of reactivate for incremental execution.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
f7ea5f7a0d
Add entries to ExecutionQueue only once
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
2dba8890f3
Refactor ProcessingStateImpl: move logic related to execution queue to its own class
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
577662e202
Fix problem with some recovering rules not being reexecuted
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
5414fe7e67
Move RulesDiff construction from reactor to coderules runtime.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
d96ef01f98
Extend ProcessingStateImpl & RulesDiff for additional part of invalidation stage
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
769e7fd2ba
Fix small issue related to mutable justifications in Occurrence. Upd tests with latest changes.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
ef2627cab4
MatchJournal now adds chunks for principal occurrences: search is simplified, case of several principal occs in rule is handled.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
b560bbbd30
Separate incremental tests on testlang and baselang into their own models.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
ed93865359
Refactor MatchJournal.Pos. Make RulesDiff usable in coderules mps code. Extend EvaluationTrace.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
49aa913556
Move MatchJournalImpl to its own file. Some docs for it. Hide underlying mutable history behind immutable List. Add string tag() to Rule.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
6c4667e066
Add basic coderules program analysis for determining principal constraints
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
155266d8ca
Abstract java interfaces for incrementality-related classes for interop between reactor and coderules
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
5995b3a2f9
Simplify last test in TestStoreAwareJournal
2019-06-17 19:31:43 +03:00
Grigorii Kirgizov
022a9c372e
Avoid searches of principal occurrence by utilizing MatchJournal.Index
2019-06-13 21:30:20 +03:00
Grigorii Kirgizov
65f1198a60
Prune the whole related state in RuleMatchers on removal-phase. Add test case.
2019-06-13 20:10:08 +03:00
Grigorii Kirgizov
7acbbc3988
Fix tests
2019-06-13 18:01:35 +03:00
Grigorii Kirgizov
d1152128da
Remove kotlin imports
2019-06-13 18:00:04 +03:00
Grigorii Kirgizov
9863569323
Tests for incrementally removing and removing+adding rules
2019-06-12 19:09:06 +03:00
Grigorii Kirgizov
d7b7d40f8a
Don't expose InitialRule to RuleDiff. Add first test for rm algo stage.
2019-06-12 14:56:57 +03:00
Grigorii Kirgizov
0bfe9e8a47
minor: remove usages of Constraint.isPrincipal in ProcessingStateImpl, use IncrementalProgramSpec instead
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
ae20c334b4
Discern incremental reactivation from usual one. Fix postponedMatches logic.
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
b3e0770939
minor: slightly rearrange code in ProcessingStateImpl
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
db80dc7ab6
Extract rule ordering logic from ProcessingStateImpl
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
175d9f7623
Move StateFrameStack class to its own file
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
a2d55e92b9
Remove accidental line duplication
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
2a5f9e28dc
Fix handling of postponed matches (match order comparison was slightly wrong)
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
5a9019e85c
Fix bits of logic responsible for launching 'at-start' rules through 'main'. Fix handling of discarded occs
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
50fcfd0d8a
Add initial version of logic for handling future matches in processActivated()
2019-06-12 13:28:06 +03:00