From: Chris Date: Mon, 16 Mar 2015 16:19:30 +0000 (-0400) Subject: edits X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=commitdiff_plain;h=62abed25f0f396cd548b833805f4219cbdf79533 edits --- diff --git a/topics/_week7_monads.mdwn b/topics/_week7_monads.mdwn index 3f2955e9..da0b0080 100644 --- a/topics/_week7_monads.mdwn +++ b/topics/_week7_monads.mdwn @@ -48,27 +48,23 @@ 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 -
Int
+Int for the type of a boxed Int. At the most general level, we'll talk about *Kleisli arrows*: -P ->
Q
+P -> Q 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 ->
Bool
+Int -> Bool -Int List ->
Int List
+Int List -> 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 -
Int
--> -
Int
- +Int -> Int