X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=topics%2F_week7_monads.mdwn;h=3f2955e9f1fb6ebe476c4eee917a49d877652e1e;hb=cb9c6590ec969e34555d9c9f56758c3e6c252ce5;hp=50b2cb89c30f0f6e213f97d3b9f92d69ab1b09f1;hpb=84fa57920eb828f2ba7c124378c7ca79b3c4bd3c;p=lambda.git
diff --git a/topics/_week7_monads.mdwn b/topics/_week7_monads.mdwn
index 50b2cb89..3f2955e9 100644
--- a/topics/_week7_monads.mdwn
+++ b/topics/_week7_monads.mdwn
@@ -48,5 +48,27 @@ We'll often write box types as a box containing the value of the free
type variable. So if our box type is `α List`, and `α == Int`, we
would write
-
+
+
+for the type of a boxed Int.
+
+At the most general level, we'll talk about *Kleisli arrows*:
+
+P ->
+
+A Kleisli arrow is the type of a function from objects of type P to
+objects of type box Q, for some choice of type expressions P and Q.
+For instance, the following are arrows:
+
+Int ->
+
+Int List ->
+
+Note that the left-hand schema can itself be a boxed type. That is,
+if `α List` is our box type, we can write the second arrow as
+
+
+->
+