edits
[lambda.git] / zipper-lists-continuations.mdwn
index 0f0662f..637f54d 100644 (file)
@@ -11,7 +11,7 @@ Rethinking the list monad
 -------------------------
 
 To construct a monad, the key element is to settle on a type
-constructor, and the monad naturally follows from that.  I'll remind
+constructor, and the monad naturally follows from that.  We'll remind
 you of some examples of how monads follow from the type constructor in
 a moment.  This will involve some review of familair material, but
 it's worth doing for two reasons: it will set up a pattern for the new
@@ -121,14 +121,14 @@ And sure enough,
 But where is the reasoning that led us to this unit and bind?
 And what is the type `['a]`?  Magic.
 
-So let's take a *completely useless digressing* and see if we can
-gain some insight into the details of the List monad.  Let's choose
-type constructor that we can peer into, using some of the technology
-we built up so laboriously during the first half of the course.  I'm
-going to use type 3 lists, partly because I know they'll give the
-result I want, but also because they're my favorite.  These were the
-lists that made lists look like Church numerals with extra bits
-embdded in them:
+So let's indulge ourselves in a completely useless digression and see
+if we can gain some insight into the details of the List monad.  Let's
+choose type constructor that we can peer into, using some of the
+technology we built up so laboriously during the first half of the
+course.  We're going to use type 3 lists, partly because I know
+they'll give the result I want, but also because they're the coolest.
+These were the lists that made lists look like Church numerals with
+extra bits embdded in them:
 
     empty list:                fun f z -> z
     list with one element:     fun f z -> f 1 z
@@ -274,7 +274,7 @@ corresponding generalized quantifier:
 
 This function wraps up an individual in a fancy box.  That is to say,
 we are in the presence of a monad.  The type constructor, the unit and
-the bind follow naturally.  We've done this enough times that I won't
+the bind follow naturally.  We've done this enough times that we won't
 belabor the construction of the bind function, the derivation is
 similar to the List monad just given:
 
@@ -290,7 +290,7 @@ constructor and the terms from the list monad derived above:
     l'_unit x = fun f -> f x                 
     l'_bind u f = fun k -> u (fun x -> f x k)
 
-(I performed a sneaky but valid eta reduction in the unit term.)
+(We performed a sneaky but valid eta reduction in the unit term.)
 
 The unit and the bind for the Montague continuation monad and the
 homemade List monad are the same terms!  In other words, the behavior