mps-coderules/reactor/Core
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/jetbrains/mps Add new incr stage for rewinding logical unification (MPSCR-67 & MPSCR-21) 2021-01-29 13:39:31 +03:00
Core.iml Update Kotlin to 1.3.70 for Reactor lib. 2020-06-25 14:30:31 +02:00
pom.xml Bump up reactor version to 0.9.14. 2019-09-30 16:31:59 +02:00