week9 expand on =/==
[lambda.git] / assignment7.mdwn
index 332b118..d6cb681 100644 (file)
@@ -1,19 +1,25 @@
 **The hints for problem 2 were being actively developed until Saturday morning. They're stable now. Remember you have a grace period until Sunday Nov. 28 to complete this homework.**
 
-1. Make sure that your operation-counting monad from [[assignment6]] is working. Modify it so that instead of counting operations, it keeps track of the last remainder of any integer division. You can help yourself to the functions:
+1.     Make sure that your operation-counting monad from [[assignment6]] is working. Modify it so that instead of counting operations, it keeps track of the last remainder of any integer division. You can help yourself to the functions:
 
                let div x y = x / y;;
                let remainder x y = x mod y;;
 
-       Write a monadic operation that enables you to retrieve the last-saved remainder, at any arbitrary later point in the computation.
+       Write a monadic operation that enables you to retrieve the last-saved remainder, at any arbitrary later point in the computation. For example, you want to be able to calculate expressions like this:
 
-2. For the next assignment, read the paper [Coreference and Modality](/coreference-and-modality.pdf). Your task will be to re-express the semantics they offer up to the middle of p. 16, in the terms we're now working with. You'll probably want to review [the lecture notes from this week's meeting](/week9).
+               (((some_long_computation / 12) + 5) - most_recent_remainder) * 2 - same_most_recent_remainder + 1
+
+       The remainder here is retrieved later than (and in addition to) the division it's the remainder of. It's also retrieved more than once. Suppose a given remainder remains retrievable until the next division is performed.
+
+
+
+2.     For the next assignment, read the paper [Coreference and Modality](/coreference-and-modality.pdf). Your task will be to re-express the semantics they offer up to the middle of p. 16, in the terms we're now working with. You'll probably want to review [the lecture notes from this week's meeting](/week9).
 
        Some advice:
 
        *       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).