4 ms·
The Cont monad in Haskell is only for single continuation targets and can't do branching/unification like Rama. That kind of behavior doesn't seem like it would
by nathanmarz 2y ago
The Cont monad in Haskell is only for single continuation targets and can't do branching/unification like Rama. That kind of behavior doesn't seem like it would express naturally or efficiently with just "do".
- pyrale 2y agoYes, Rama probably isn’t semantically comparable to one single monad. I was talking about the do notation as a way to sugar the syntax of cps monadic operations into a flat, imperative syntax. This is exactly what Rama is doing. If you look at a tutorial of what haskell do-notations desugar into, you’ll find the same cps stuff described in this article.
- tome 2y agoCould you say more about what branching/unification is in this context, and how Rama supports/uses it?
- nathanmarz 2y agoThose are explained in the post starting here: https://blog.redplanetlabs.com/2024/10/10/rama-on-clojures-terms-and-the-magic-of-continuation-passing-style/#Emitting_to_multiple_output_streams https://blog.redplanetlabs.com/2024/10/10/rama-on-clojures-t...