X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=intensionality_monad.mdwn;h=39dd8028e50b199c6d713e6430b3c7097633e688;hp=6887487fa69298fad8b85ba96ed741e69fcfec8a;hb=c50557f9e28953396ce6b09d169096d848a1985e;hpb=11a31a071405f0eb9bc48ea98e5e9ee592fac245 diff --git a/intensionality_monad.mdwn b/intensionality_monad.mdwn index 6887487f..39dd8028 100644 --- a/intensionality_monad.mdwn +++ b/intensionality_monad.mdwn @@ -1,9 +1,21 @@ -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: @@ -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