From: Jim Pryor Date: Wed, 15 Sep 2010 15:46:13 +0000 (-0400) Subject: damn tweaks10 X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=commitdiff_plain;h=353f56e12a828bf350a82b61656ad0451795494f damn tweaks10 Signed-off-by: Jim Pryor --- diff --git a/damn.mdwn b/damn.mdwn index 8bbe724e..f25308a8 100644 --- a/damn.mdwn +++ b/damn.mdwn @@ -126,7 +126,7 @@ Now we can say: and we get back: - ((the . man) . (read . (the . (id . book)))) + '((the . man) . (read . (the . (id . book)))) ---or an equivalent shorthand. (I'm now going to stop saying this.) @@ -149,7 +149,7 @@ But then: gives us: - ((the . man) . (read . (the . (bad . book)))) + '((the . man) . (read . (the . (bad . book)))) Which is not quite what we're looking for. We don't want to contribute the normal adjectival meaning of "bad" to the proposition asserted. Instead we want badness to be a side-issue linguistic contribution. We might try: @@ -157,7 +157,7 @@ Which is not quite what we're looking for. We don't want to contribute the norma But then we'd get: - ((the . man) . (read . (the . ((side-effect . bad) . book)))) + '((the . man) . (read . (the . ((side-effect . bad) . book)))) and we said at the outset that the context `(the . ( ... . book))` shouldn't need to know how to interact with affective meanings. That's precisely the problem we're trying to solve. @@ -193,7 +193,7 @@ What happens then when we evaluate: We get something like this:
-"bad" ((the . man) . (read . (the . (id . book)))) +"bad" '((the . man) . (read . (the . (id . book))))
Yay! The affective meaning has jumped out of the compositional evaluation of the main sentence, and the context `(the . (... . book))` only has to deal with the trivial adjectival meaning `'id`. @@ -226,7 +226,7 @@ Can we do better? Instead of representing the side-issue affective contribution by printing "bad", let's instead try to build a pair of side-effect contributions and at-issue assertion. Then what we want would be something like: - ((side-effect . bad) . ((the . man) . (read . (the . (id . book))))) + '((side-effect . bad) . ((the . man) . (read . (the . (id . book))))) Only we want to get this from the evaluation of: @@ -288,7 +288,7 @@ Remember, the reset isn't actually *doing* anything. It's not a function that's Evaluating that gives us: - ((the . man) . (read . (the . (id . book)))) + '((the . man) . (read . (the . (id . book)))) Now to pair that with an affective side-issue content, we'd instead define `damn` as: @@ -306,7 +306,7 @@ And voila: evaluates to: - ((side-effect bad) ((the . man) . (read . (the . (id . book))))) + '((side-effect bad) ((the . man) . (read . (the . (id . book))))) So that's the straightforward way of repairing the strategy we used in class, without using `print`. We also have to switch to using delimited continuations.