21ac2f59d098db062ed50f14ada225764fa211f5
[lambda.git] / topics / _week7_monads.mdwn
1 Monads
2 ======
3
4 The [[tradition in the functional programming
5 literature|https://wiki.haskell.org/Monad_tutorials_timeline]] is to
6 introduce monads using a metaphor: monads are spacesuits, monads are
7 monsters, monads are burritos.  We're part of the backlash that
8 prefers to say that monads are monads.  
9
10 The closest we will come to metaphorical talk is to suggest that
11 monadic types place objects inside of boxes, and that monads wrap and
12 unwrap boxes to expose or enclose the objects inside of them.  In any
13 case, the emphasis will be on starting with the abstract structure of
14 monads, followed by instances of monads from the philosophical and
15 linguistics literature.
16
17 To