X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=topics%2Fweek7_introducing_monads.mdwn;h=60a36aaded782146433a0564da73dc66467942d1;hp=4ce25641859817be47cc91a6aa18ce2c06acec4e;hb=c8fd5635d402bd3ae8073725257bef20e161256e;hpb=1f63d64f765efea28a315af8e92654023bea45cc diff --git a/topics/week7_introducing_monads.mdwn b/topics/week7_introducing_monads.mdwn index 4ce25641..60a36aad 100644 --- a/topics/week7_introducing_monads.mdwn +++ b/topics/week7_introducing_monads.mdwn @@ -83,10 +83,18 @@ For instance, the following are Kleisli arrows: In the first, `P` has become `int` and `Q` has become `bool`. (The boxed type Q is bool). -Note that the left-hand schema `P` is permitted to itself be a boxed type. That is, where if `α list` is our box type, we can write the second type as: +Note that the left-hand schema `P` is permitted to itself be a boxed +type. That is, if `α list` is our box type, and `P` is to boxed type +`int list`, we can write the boxed type that has `P` as its left-hand +side as int -> int list +If it's clear that we're uniformly talking about the same box type (in +this example, `α list`), we can equivalently write + +int -> int + Here are some examples of values of these Kleisli arrow types, where the box type is `α list`, and the Kleisli arrow types are int -> int (that is, `int -> int list`) or int -> bool:
\x. [x]