X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=intensionality-monad.ml;h=eebe5ee1f1334839c3ddce63b886282900325cb5;hp=d1f21d2de1aa93cafa0fdb129254d2e334a0c8b8;hb=2d5df0441175013c782ebee648a17043405ca251;hpb=11a31a071405f0eb9bc48ea98e5e9ee592fac245 diff --git a/intensionality-monad.ml b/intensionality-monad.ml index d1f21d2d..eebe5ee1 100644 --- a/intensionality-monad.ml +++ b/intensionality-monad.ml @@ -29,13 +29,13 @@ saw bill ann 2;; (* Ann didn't see Bill in world 2 *) type 'a intension = s -> 'a;; let unit x (w:s) = x;; let bind m f (w:s) = f (m w) w;; -let lift f u v = bind u (fun x -> bind v (fun y -> f x y));; +let lift2' f u v = bind u (fun x -> bind v (fun y -> f x y));; bind (unit ann) left 1;; bind (unit cam) left 2;; -lift saw (unit bill) (unit ann) 1;; -lift saw (unit bill) (unit ann) 2;; +lift2' saw (unit bill) (unit ann) 1;; +lift2' saw (unit bill) (unit ann) 2;; let thinks (p:s->t) (x:e) (w:s) = match (x, p 2) with ('a', false) -> false | _ -> p w;;