phaller / reactive-async

Expressive deterministic concurrency in Scala
BSD 2-Clause "Simplified" License
15 stars 9 forks source link

FreezeOutcome #156

Open JanKoelzer opened 6 years ago

JanKoelzer commented 6 years ago

If #111 and #155 get merged, I suggest to add a FreezeOutcome that complements CellCompleter.freeze() in callbacks, i.e. if a callback returns FreezeOutcome, the depender is completed with the value it currently has. (In contrast, FinalOutcome completes the Cell after increasing its value.)

JanKoelzer commented 6 years ago

FreezeOutcome is not equivalent to FinalOutcome(bottom) in case of a monotonic updater. The latter case would throw an exception, if the cell had been updated earlier.