X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=zipper-lists-continuations.mdwn;h=bfd144c1ede17257d7847957abf1fded70590127;hp=fef92b735ab4224691dfa13c69b6151bde0f9fbb;hb=aeec785e1d00c613973b4912d4b0f510954491ec;hpb=3872c08aca60c2a70b0bff50e0ed7ca8290a8865 diff --git a/zipper-lists-continuations.mdwn b/zipper-lists-continuations.mdwn index fef92b73..bfd144c1 100644 --- a/zipper-lists-continuations.mdwn +++ b/zipper-lists-continuations.mdwn @@ -228,10 +228,12 @@ Sigh. Ocaml won't show us our own list. So we have to choose an `f` and a `z` that will turn our hand-crafted lists into standard Ocaml lists, so that they will print out. +
 # let cons h t = h :: t;;  (* Ocaml is stupid about :: *)
 # l'_bind (fun f z -> f 1 (f 2 z)) 
           (fun i -> fun f z -> f i (f (i+1) z)) cons [];;
 - : int list = [1; 2; 2; 3]
+
Ta da! @@ -302,3 +304,6 @@ versa. The connections will be expecially relevant when we consider indefinites and Hamblin semantics on the linguistic side, and non-determinism on the list monad side. +Refunctionalizing zippers +------------------------- +