The purpose of monads and their alternatives (old and new). For people who love monads, hate monads, and those who don’t get them.
Make FP click by joining “How to think like a functional programmer” — https://impurepics.thinkific.com/cour...
Hate watching videos? Check out the complementary article, which covers the same content: https://dev.to/zelenya
Useful links:
* Doing vs. Being: https://systemfw.org/posts/programsa...
* Unison Abilities: https://www.unisonlang.org/docs/fund...
* OCaml Effect handlers: https://v2.ocaml.org/manual/effects.html
* OCaml Effect handlers: https://arxiv.org/pdf/2104.00250.pdf
* Scala Capabilities: https://www.slideshare.net/Odersky/ca...
* Delimited continuation primops (ghc proposal): https://github.com/ghcproposals/ghc...
* Frank / Do be do be do: https://arxiv.org/abs/1611.09259
* On the expressive power of userdefined effects: https://arxiv.org/abs/1610.09161
* Effekt Language: https://effektlang.org/
* Koka Language: https://kokalang.github.io/koka/doc/...
#fp #functionalprogramming #unisonlang #haskell #scala #ocaml
Subscribe to Impure Pics: https://bit.ly/impureyoutube
More Impure Pics
/ impurepics
http://impurepics.com
http://merch.impurepics.com
Functional Alphabet book
Softcover: https://bit.ly/fpabcsoftcover
Hardcover: https://bit.ly/fpabchardcover
Watch more Impure Pics
• Debunking Haskell Myth: “Tooling Issue”
About Impure Pics
FP Advocat. Distilling functional programming for the good of all
Get in touch: https://zelenya.com
0:00 Intro
0:08 How we ended up in the world with monads
2:42 Control flow
4:56 The costs of monads
6:52 Monads vs. Direct Style
7:55 The worst of both worlds? Mixed styles
8:23 The best of both worlds? Directstyle algebraic effects
11:55 Control flow and call s tack
12:53 The pros of directstyle algebraic effects
14:12 The elephant in the pure room. RT
15:22 Other limitations and unknowns
15:57 What’s next and where to go
16:55 Takeaways