From: Chris Barker Date: Sat, 27 Nov 2010 04:56:27 +0000 (-0500) Subject: edits X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=commitdiff_plain;h=9f7e25bd5aa94f5d0cdcd80a1ea0a48ff49a88fe;ds=sidebyside edits --- diff --git a/zipper-lists-continuations.mdwn b/zipper-lists-continuations.mdwn index 637f54d1..a14ed503 100644 --- a/zipper-lists-continuations.mdwn +++ b/zipper-lists-continuations.mdwn @@ -153,7 +153,7 @@ types should be): Finally, we're getting consistent principle types, so we can stop. These types should remind you of the simply-typed lambda calculus types for Church numerals (`(o -> o) -> o -> o`) with one extra bit -thrown in (in this case, and int). +thrown in (in this case, an int). So here's our type constructor for our hand-rolled lists: @@ -167,7 +167,7 @@ ints), we have So an `('a, 'b) list'` is a list containing elements of type `'a`, where `'b` is the type of some part of the plumbing. This is more general than an ordinary Ocaml list, but we'll see how to map them -into Ocaml lists soon. We don't need to grasp the role of the `'b`'s +into Ocaml lists soon. We don't need to fully grasp the role of the `'b`'s in order to proceed to build a monad: l'_unit (x:'a):(('a, 'b) list) = fun x -> fun f z -> f x z