ass10 hints
[lambda.git] / hints / assignment_7_hint_3.mdwn
index 4aa9180..9789d4a 100644 (file)
@@ -3,14 +3,14 @@
 
        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, let's work 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:
 
                type 'a set = 'a list;;
-               let empty_set : 'a set = [];;
-               let unit_set (value: 'a) : 'a set = [value];;
-               let bind_set (u: 'a set) (f: 'a -> 'b set) : 'b set =
+               let set_empty : 'a set = [];;
+               let set_unit (value: 'a) : 'a set = [value];;
+               let set_bind (u: 'a set) (f: 'a -> 'b set) : 'b set =
                        List.concat (List.map f u);;