missionary 2025-04-09

I have been prototyping the integration of probabilistic programming into missionary as a runtime (for FRP based probabilistic programming/simulation). To do so it would be desirable for me to have control over branching, and be able to potentially run the same cloroutine continuation many times (as mentioned here in the past). I looked into Ambiguous.cljs and Ambiguous.java and it seems I should be able to adjust them. I would like to implement this interface through (algebraic) effect handlers, basically allowing any form of non-deterministic effects to control the continuation of missionary including the execution of the same cloroutine continuation with a modified (randomized) state and potentially altered effect handlers. @leonoel lmk if you have preferences/context of how something like this should be done. In general it might be nice to allow this effect handling mechanism to handle unparking by default (maybe as a noop effect). In rhine-bayes this integration is done through the integration of a stochastic monad into rhine's FRP abstractions, but effect handlers are more general and also more convenient to modify at runtime.

could you provide examples in pseudocode showing what you're trying to achieve and what is missing in current design ?

also what is the meaning of "unparking by default"