mps-coderules/reactor/Test
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
..
src refactoring: introduce Rule.Tag instead of several fields (basetag/tag/uniqueTag) 2020-12-15 17:59:05 +03:00
test Add new incr stage for rewinding logical unification (MPSCR-67 & MPSCR-21) 2021-01-29 13:39:31 +03:00
Test.iml Update Idea project in reactor. 2020-10-23 12:26:30 +02:00
pom.xml Bump junit from 4.12 to 4.13.1 in /reactor/Test 2020-10-13 07:03:23 +00:00