assignment7 tweaks
[lambda.git] / hints / assignment_7_hint_3.mdwn
index d3e06c5..7617922 100644 (file)
@@ -3,7 +3,7 @@
 
        Now some of the `dpm`s we work with will be `bool dpm`s, which are functions from discourse possibilities to `bool`s (and discourse possibilities). It's tempting to think we might just work with `bool dpm`s instead of sets of possibilities. However, I don't think this can work. The reason why is that at a crucial point in GS&Vs semantics, we have to work with not just a *single* way of mutating or "extending" a discourse possibility, but a *range* of different ways to mutate the live discourse possibilities. So we do need to work with sets, after all.
 
-       A set is just another monadic layer. We've already talked about list monads, and we can for these purposes just use list monads to represent set monads. Instead of sets of possibilities, we'll be working with sets of `dpm`s, that is, sets of discourse possibility monads, or computations on discourse possibilities.
+       A set is just another monadic layer. We've already talked about list monads, and we can for these purposes just use list monads to represent set monads. Instead of sets of possibilities, let's work with sets of `dpm`s, that is, sets of discourse possibility monads, or computations on discourse possibilities.
 
        As I said, for simplicity, we'll represent sets using lists:
 
@@ -27,7 +27,7 @@
 
        we'll just talk about \[[expression]] and let that be a monadic value, implemented in part by a function that takes `(r, h)` as an argument.
 
-       More specifically, \[[expression]] will be a set of `'a dpm`s, where `'a` is the appropriate type for *expression*. An `'a dpm` is implemented by a function that takes `(r, h)` as an argument.
+       More specifically, \[[expression]] will be a set of `'a dpm`s, where `'a` is the appropriate type for *expression*. Each `'a dpm` is implemented by a function that takes `(r, h)` as an argument.
 
 *      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 (i) allocating a new location in the store, (ii) putting some entity `d` from the domain in that location, and (iii) assigning variable `x` to that location in the store.
 It will be useful to have a shorthand way of referring to this operation:
@@ -37,7 +37,7 @@ It will be useful to have a shorthand way of referring to this operation:
                                (* first we calculate an unused index *)
                                let newindex = List.length h
                                (* next we store d at h[newindex], which is at the very end of h *)
-                               (* the following line achieves that in a simple but very inefficient way *)
+                               (* the following line achieves that in a simple but inefficient way *)
                                in let h' = List.append h [d]
                                (* next we assign 'x' to location newindex *)
                                in let r' = fun v ->