X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=intensionality_monad.mdwn;h=44bcaa54a5adb95f4dafb5801cb3aa5e7da7f34e;hp=6887487fa69298fad8b85ba96ed741e69fcfec8a;hb=be61fc4d5a36febd2eea74b49be6908b734248d7;hpb=11a31a071405f0eb9bc48ea98e5e9ee592fac245 diff --git a/intensionality_monad.mdwn b/intensionality_monad.mdwn index 6887487f..44bcaa54 100644 --- a/intensionality_monad.mdwn +++ b/intensionality_monad.mdwn @@ -1,13 +1,25 @@ -The intensionality monad ------------------------- +Now we'll look at using monads to do intensional function application. +This really is just another application of the reader monad, not a new monad. +In Shan (2001) [Monads for natural +language semantics](http://arxiv.org/abs/cs/0205026v1), Ken shows that +making expressions sensitive to the world of evaluation is conceptually +the same thing as making use of the reader monad. +This technique was beautifully re-invented +by Ben-Avi and Winter (2007) in their paper [A modular +approach to +intensionality](http://parles.upf.es/glif/pub/sub11/individual/bena_wint.pdf), +though without explicitly using monads. -In the meantime, we'll look at several linguistic applications for -monads, based on what's called the *reader monad*, starting with -intensional function application. +All of the code in the discussion below can be found here: [[intensionality-monad.ml]]. +To run it, download the file, start OCaml, and say + + # #use "intensionality-monad.ml";; + +Note the extra `#` attached to the directive `use`. First, the familiar linguistic problem: - Bill left. + Bill left. Cam left. Ann believes [Bill left]. Ann believes [Cam left]. @@ -18,22 +30,6 @@ we have a problem: if the sentences *Bill left* and *Cam left* are both true, they denote the same object, and Ann's beliefs can't distinguish between them. -In Shan (2001) [Monads for natural language -semantics](http://arxiv.org/abs/cs/0205026v1), Ken shows that making -expressions sensitive to the world of evaluation is conceptually the -same thing as making use of a *reader monad*. This technique was -beautifully re-invented by Ben-Avi and Winter (2007) in their paper [A -modular approach to -intensionality](http://parles.upf.es/glif/pub/sub11/individual/bena_wint.pdf), -though without explicitly using monads. - -All of the code in the discussion below can be found here: [[intensionality-monad.ml]]. -To run it, download the file, start OCaml, and say - - # #use "intensionality-monad.ml";; - -Note the extra `#` attached to the directive `use`. - The traditional solution to the problem sketched above is to allow sentences to denote a function from worlds to truth values, what Montague called an intension. So if `s` is the type of possible