The three approches are:
-[[toc!]]
+[[!toc]]
Rethinking the list monad
-------------------------
and a `z` that will turn our hand-crafted lists into standard Ocaml
lists, so that they will print out.
+<pre>
# 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]
+</pre>
Ta da!
indefinites and Hamblin semantics on the linguistic side, and
non-determinism on the list monad side.
+Refunctionalizing zippers
+-------------------------
+