X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=reader_monad_for_intensionality.mdwn;h=4159f845c8325643ad4c355608c3e7db6ba06ec2;hp=d10d7477656559e58ccbaa3fa03fe8a944d8e656;hb=acdcd8024b3b3da1396069dba591a2f40f55efcc;hpb=b30e75e7f0899f35323b4ded6495b834cff74a91 diff --git a/reader_monad_for_intensionality.mdwn b/reader_monad_for_intensionality.mdwn index d10d7477..4159f845 100644 --- a/reader_monad_for_intensionality.mdwn +++ b/reader_monad_for_intensionality.mdwn @@ -129,8 +129,9 @@ extensional in both of its syntactic arguments: saw bill ann 1;; (* true: Ann saw Bill in world 1 *) saw bill ann 2;; (* false: no one saw anyone in world 2 *) -This intensionalized version of *see* coincides with the `saw1` -function we defined above for world 1; in world 2, no one saw anyone. +This (again, partially) intensionalized version of *see* coincides +with the `saw1` function we defined above for world 1; in world 2, no +one saw anyone. Just to keep things straight, let's review the facts: @@ -175,9 +176,9 @@ its arguments to take intensional arguments: let lift2' f u v = bind u (fun x -> bind v (fun y -> f x y));; This is almost the same `lift2` predicate we defined in order to allow -addition in our division monad example; the difference is that this +addition in our division monad example. The difference is that this variant operates on verb meanings that take extensional arguments but -returns an intensional result. The original `lift2` predicate +returns an intensional result. Thus the original `lift2` predicate has `unit (f x y)` where we have just `f x y` here. The use of `bind` here to combine *left* with an individual concept,