assign7 tweak
authorJim Pryor <profjim@jimpryor.net>
Mon, 22 Nov 2010 10:50:57 +0000 (05:50 -0500)
committerJim Pryor <profjim@jimpryor.net>
Mon, 22 Nov 2010 10:50:57 +0000 (05:50 -0500)
Signed-off-by: Jim Pryor <profjim@jimpryor.net>
assignment7.mdwn
hints/assignment_7_hint_1.mdwn

index 5db178b..d6cb681 100644 (file)
@@ -19,7 +19,7 @@
 
        *       You don't need to re-express the epistemic modality part of their semantics, just their treatment of extensional predicate logic. Though extra credit if you want to do the whole thing.
 
 
        *       You don't need to re-express the epistemic modality part of their semantics, just their treatment of extensional predicate logic. Though extra credit if you want to do the whole thing.
 
-       *       You'll want to use the implementation of "implicitly represented" mutable variables that we discussed at the end of this week's meeting, or the "state monad" Chris presented, which is a simple version of the former.
+       *       You'll want to use "implicitly represented" mutable variables, or a State monad.
 
        *       Here are some [hints](/hints/assignment_7_hint_1).
 
 
        *       Here are some [hints](/hints/assignment_7_hint_1).
 
index ac15e19..a68c826 100644 (file)
@@ -5,9 +5,9 @@
 
 *      Where they say "reference system," which they use the letter `r` for, that corresponds to what we've been calling "assignments", and have been using the letter `g` for.
 
 
 *      Where they say "reference system," which they use the letter `r` for, that corresponds to what we've been calling "assignments", and have been using the letter `g` for.
 
-*      Where they say `r[x/n]`, that's our `g{x:=n}`, or in OCaml, `fun var -> if var = 'x' then n else g var`.
+*      Where they say `r[x/n]`, that's our `g{x:=n}`, which we could represent in OCaml as `fun var -> if var = 'x' then n else g var`. (Earlier we represented assignments as lists of pairs, here we're representing them as functions. Either can work.)
 
 
-*      Their function `g`, which assigns entities from the domain to pegs, corresponds to our store function, which assigns entities to indexes. To avoid confusion, I'll use `r` for assignments, like they do, and avoid using `g` altogether. Instead I'll use `h` for stores. (We can't use `s` because GS&V use that for something else, which they call "information states.")
+*      Their function `g`, which assigns entities from the domain to pegs, corresponds to a store with several indexes. To avoid confusion, I'll use `r` for assignments, like they do, and avoid using `g` altogether. Instead I'll use `h` for stores. (We can't use `s` because GS&V use that for something else, which they call "information states.")
 
 *      At several places they talk about some things being *real extensions* of other things. This confused me at first, because they don't ever define a notion of "real extension." (They do define what they mean by "extensions.") Eventually, it emerges that what they mean is what I'd call a *proper extension*: an extension which isn't identical to the original.
 
 
 *      At several places they talk about some things being *real extensions* of other things. This confused me at first, because they don't ever define a notion of "real extension." (They do define what they mean by "extensions.") Eventually, it emerges that what they mean is what I'd call a *proper extension*: an extension which isn't identical to the original.