X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=zipper-lists-continuations.mdwn;h=bfd144c1ede17257d7847957abf1fded70590127;hp=3ccb88595392dda39a3489e97dfe3c7e2e379cb0;hb=aeec785e1d00c613973b4912d4b0f510954491ec;hpb=a3825219f85a2f0ff02ef5edc1fb6504eec634f2 diff --git a/zipper-lists-continuations.mdwn b/zipper-lists-continuations.mdwn index 3ccb8859..bfd144c1 100644 --- a/zipper-lists-continuations.mdwn +++ b/zipper-lists-continuations.mdwn @@ -5,7 +5,7 @@ continuation monad. The three approches are: -[[toc!]] +[[!toc]] Rethinking the list monad ------------------------- @@ -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 +------------------------- +