assignment7 tweaks
authorJim Pryor <profjim@jimpryor.net>
Thu, 18 Nov 2010 19:15:55 +0000 (14:15 -0500)
committerJim Pryor <profjim@jimpryor.net>
Thu, 18 Nov 2010 19:15:55 +0000 (14:15 -0500)
Signed-off-by: Jim Pryor <profjim@jimpryor.net>
hints/assignment_7_hint_3.mdwn

index 1cd6213..838a2af 100644 (file)
@@ -5,9 +5,13 @@
 
 *      They say the denotation of a variable is the object which the store `g` assigns to the index that the assignment function `r` assigns to the variable. In other words, if the variable is `'x'`, its denotation wrt `(r, g, w)` is `g[r['x']]`.
 
-We're going to keep all of that, except dropping the worlds. And instead of talking about "\[[expression]] in discourse possibility `(r, g, w)`," we'll just talk about "\[[expression]]" and let that be a monadic object, implemented in part by a function that takes `(r, g)` as an argument.
+We're going to keep all of that, except dropping the worlds. And instead of talking about
 
-More specifically, "\[[expression]]" will be a set of 'a discourse possibility monads, where 'a is the appropriate type for "expression," and the discourse possibility monads are themselves state monads where `(r, g)` is the state that gets updated. Those are implemented as functions from `(r, g)` to `(a, r', g')`, where `a` is a value of type `'a`, and `r', g'` are possibly altered assignment functions and stores.
+>      \[[expression]] in discourse possibility `(r, g, w)`
+
+we'll just talk about \[[expression]] and let that be a monadic object, implemented in part by a function that takes `(r, g)` as an argument.
+
+More specifically, \[[expression]] will be a set of 'a discourse possibility monads, where 'a is the appropriate type for "expression," and the discourse possibility monads are themselves state monads where `(r, g)` is the state that gets updated. Those are implemented as functions from `(r, g)` to `(a, r', g')`, where `a` is a value of type `'a`, and `r', g'` are possibly altered assignment functions and stores.
 
 *      In def 2.7, GS&V talk about an operation that takes an existing set of discourse possibilities, and extends each member in the set by allocating a new location in the store, and assigning a variable `'x'` to that location, which holds some object `d` from the domain. It will be useful to have a shorthand way of referring to this operation: