edits
[lambda.git] / topics / _week7_monads.mdwn
index 75bc205..3f2955e 100644 (file)
@@ -50,3 +50,25 @@ would write
 
 <table border=2px><td>Int</td></table>
 
+for the type of a boxed Int.
+
+At the most general level, we'll talk about *Kleisli arrows*:
+
+P -> <table border=2px><td>Q</td></table>
+
+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 -> <table border=2px><td>Bool</td></table>
+
+Int List -> <table border=2px><td>Int List</td></table>
+
+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
+
+<table border=2px><td>Int</td></table>
+->
+<table border=2px><td><table
+border=2px><td>Int</td></table></td></table>
+