Fedor Isakov
5cf1b86f38
Fix compilation
2026-04-24 11:36:54 +02:00
Fedor Isakov
78deea3df2
Drop obsolete interface
2024-10-04 13:01:43 +02:00
Fedor Isakov
20a6b70de1
Minor optimizations of rule indexing/processing
2024-10-04 13:01:43 +02:00
Fedor Isakov
92a19a1ba4
Change API method signature for more optimal usage
2024-10-02 15:11:38 +02:00
Fedor Isakov
a7d78907c0
Bump up reactor version to 0.9.21
2024-08-19 21:47:47 +02:00
Fedor Isakov
cebf42bb4c
Bump up conreactor version to 0.9.20
2024-08-05 17:35:38 +02:00
Fedor Isakov
38843c344e
Drop obsolete and deprecated code
2024-08-05 17:35:38 +02:00
Fedor Isakov
3d57a5abc3
Refactor code for better readability
2024-08-02 09:57:55 +02:00
Fedor Isakov
7e0443059f
Bump up conreactor version to 0.9.19
2024-07-22 13:32:06 +02:00
Fedor Isakov
890bc59932
Minor code refactoring and cleanup in "conreactor"
2024-07-19 16:37:05 +02:00
Fedor Isakov
ed1280dcb0
Bump up version of "conreactor"
2024-07-01 15:28:33 +02:00
Fedor Isakov
964b2cea29
Minor optimizations and refactoring (TIntSet -> BitSet)
2024-07-01 15:28:20 +02:00
Fedor Isakov
740f478ae9
Introduce methods for (de)initializing Backend; drop ReactorLifecycle
2024-06-16 19:02:18 +02:00
Fedor Isakov
cdb6c91958
Cleanup and refactor code for better readability
2024-06-14 13:42:46 +02:00
Fedor Isakov
73ad3373d7
Specify version for maven-jar-plugin
2024-06-13 21:26:03 +02:00
Fedor Isakov
506b245438
Drop obsolete deprecated code
2024-06-13 12:23:27 +02:00
Fedor Isakov
2e5517271d
Drop deprecated code marked for removal
2024-06-13 11:02:34 +02:00
Fedor Isakov
2ce182c785
Auto-updated IDEA project files
2023-10-13 18:13:08 +02:00
Fedor Isakov
6d4001e175
Auto-updated files in IDEA project
2023-05-03 10:31:55 +02:00
Fedor Isakov
e881bccfca
Switch to Kotlin 1.7.0
2022-09-02 16:11:00 +02:00
Fedor Isakov
2730c02f4c
Update JDK in conreactor
2022-09-02 15:50:00 +02:00
Fedor Isakov
be1e4bac18
Bump up version of Kotlin and JUnit
2022-07-12 11:18:42 +02:00
Fedor Isakov
3b7eb7c210
Ensure failures has non-null message
2022-05-03 10:26:43 +02:00
Fedor Isakov
a2dacdd75a
Update reactor version to reflect major changes
...
Dropped all "incremental" stuff.
Occurrences and rules are no longer divided into "principal"
and others.
2022-04-25 12:14:22 +02:00
Fedor Isakov
f965c6636d
Drop obsolete incremental and principal stuff
2022-04-20 12:42:20 +02:00
Fedor Isakov
735c88cdba
Drop unused code, cleanup and simplify code
2022-04-19 14:36:08 +02:00
Fedor Isakov
e1f285ed35
Bump up reactor version
2022-03-15 12:10:48 +01:00
Fedor Isakov
c90382ec8f
Cleanup code, drop obsolete classes
2022-03-14 18:10:43 +01:00
Fedor Isakov
ef3aec13d5
Drop obsolete features, cleanup code
2022-03-14 11:24:22 +01:00
Fedor Isakov
d8eedd0c44
Cleanup code
2022-03-12 12:49:55 +01:00
Fedor Isakov
945088f72e
Drop obsolete deprecated class, simplify code
2022-03-07 19:16:05 +01:00
Fedor Isakov
dc4f046510
Cleanup and optimize Rule.Tag, drop unused methods
2021-05-18 12:32:03 +02:00
Fedor Isakov
4573764bb4
Reactor: introduce indexed term trie
2021-05-13 15:54:43 +02:00
Fedor Isakov
4d1511d794
Reactor: drop most of incrementality- and preamble-related stuff
...
Neither incremental evaluation of program or "preamble" features
are useful, but they complicate things and cause major bugs.
2021-04-13 22:57:06 +02:00
Fedor Isakov
207be07df9
Introduce try-tell protocol for invoking predicates
...
The default tell protocol assumes an exception is to be thrown
in case predicate is not satisfied. This may lead to unnecessary
exceptions being thrown in a situation where a simple failure
status would have been sufficient.
2021-04-08 11:31:29 +02:00
Fedor Isakov
c51a984648
Alternative solution for invalidating feedback
...
Introduce feedback basis to track dependencies on rules.
Index journal chunks by evidence for quick lookup.
The feedback basis is the collection of principal rules tags
from the justifications of the current match.
2021-04-08 08:51:39 +02:00
Grigorii Kirgizov
2504b354f0
Implement fallback from incremental to default processing on unhandled cases (MPSCR-67)
2021-01-29 13:39:31 +03:00
Grigorii Kirgizov
98ee9f4da2
Add new incr stage for rewinding logical unification (MPSCR-67 & MPSCR-21)
...
For this several notions are introduced.
Logical variable is called "principal" if it is used in principal
occurrences and at some point during evaluation is unified or bound.
Principal occurrence is called "volatile" if it uses principal logicals.
PrincipalObserverDispatcher's task is to track volatile occurrences
by enabling uni observers on all free logicals in principal occ-s.
RewindVolatileOccurrencesStage then on events of incremental usage
of volatile occurrences (e.g. match on it, or continued activation)
resets journal cursor to the position of initial occurrence activation,
where it can be re-evaluated with fresh, unaffected, logicals.
It's the only stage that goes backwards in journal.
So in this way unification is incrementally cancelled.
link to MPSCR-62 (docs)
2021-01-29 13:39:31 +03:00
Grigorii Kirgizov
eb1e646cd4
Minor refactoring: move OccurrenceContractObserver from ConstraintsProcessing into ProcessingStrategy
...
Rename NonIncrementalProcessing -> DefaultProcessing
Add GroundProcessing as common superclass to handle OccurrenceContractObserver
Add another test for this occurrence contract logic.
2021-01-29 13:39:31 +03:00
Grigorii Kirgizov
e73394863e
minor: Remove ignored test for not implemented and not needed feature of MatchJournal
2020-12-15 17:59:10 +03:00
Grigorii Kirgizov
fd43cc560c
refactoring: introduce Rule.Tag instead of several fields (basetag/tag/uniqueTag)
...
Allows to carry logically connected information in one object.
Needed for subsequent changes to ConstraintOccurrence, which
must have better information on source rule: rule template name.
Used by occurrence cache.
2020-12-15 17:59:05 +03:00
Fedor Isakov
f6123273d4
Minor refactoring: drop usages of Program.rulesLists() method.
2020-12-01 21:55:17 +01:00
Fedor Isakov
b51d8257ba
Ensure runtime exceptions are caught when evaluating predicates.
...
An exception raised by a predicate solver must not break evaluation.
2020-11-24 13:41:24 +01:00
Grigorii Kirgizov
15d6fe8eae
Introduce ProcessingSession for creating session from token & ending it
...
Introduced to discern incremental strategies: Full,Preamble,Default.
because how SessionToken is used and stored depends on it.
EvaluationSessionImpl now simply dispatches to it.
Also rename 'IncrementalProcessing' to 'ProcessingStrategy'.
2020-11-18 11:36:28 +03:00
Fedor Isakov
a403b1a252
Update Idea project in reactor.
2020-10-23 12:26:30 +02:00
dependabot[bot]
7971353f31
Bump junit from 4.12 to 4.13.1 in /reactor/Test
...
Bumps [junit](https://github.com/junit-team/junit4 ) from 4.12 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases )
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md )
- [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-10-13 07:03:23 +00:00
Grigorii Kirgizov
da27c7ccd4
Fix some tests given changes in Journal
...
Also enable old incr tests that failed b/of missing features.
Remove old flaky disabled test.
2020-09-01 17:01:06 +03:00
Grigorii Kirgizov
19fa16c731
minor: disable excessive traverse in Journal made for MPSCR-65. breaks 2 tests
2020-09-01 16:20:08 +03:00
Grigorii Kirgizov
96f0a2e037
Provide correct journal position for re-exec in continueReplacedHeads (fixes MPSCR-68)
...
Also completes MPSCR-65. Another test for it now passes.
2020-09-01 13:37:45 +03:00
Fedor Isakov
38e34b4431
Reinforce RuleIndex.update() to be independent of RuleDiff.
...
RuleDiff may not be in sync with RuleIndex's state.
2020-08-20 14:20:52 +02:00