Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Watch a 17-minute conference presentation exploring how monadic interfaces from functional programming can be adapted to lower-level settings with explicit stack manipulation. Learn about the theoretical foundations connecting high-level computational effects to stack-based implementations through relative monads and polymorphic call-by-push-value (CBPV) calculus. Discover how researchers Yuchen Jiang, Runze Xue, and Max S. New demonstrate that relative monads can model stack-based implementations of computational effects, bridging the gap between abstract monadic interfaces and concrete runtime stack layouts. Explore the development of "monadic blocks" - a generalization of do-notation that allows CBPV code to work with arbitrary relative monads, and understand how this approach enables automatic extension of relative monads to relative monad transformers. Examine practical applications through adaptations of standard monads to relative monads, with supporting artifacts and reproducible results available through the supplementary archive. Gain insights into how compiler implementors and assembly programmers can benefit from monadic abstractions similar to those used in high-level functional programming languages.