X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=assignment7.mdwn;h=d6cb6813125279b02da88d34757d4d75b92415e6;hp=0785c678680f3357da84a033606aa138869cf5c6;hb=9efbe94f74c2ea61522fcdb3e3d012fde6034fcd;hpb=6eebd26aed3867f64cc5178dc5aade197713b8f0 diff --git a/assignment7.mdwn b/assignment7.mdwn index 0785c678..d6cb6813 100644 --- a/assignment7.mdwn +++ b/assignment7.mdwn @@ -7,9 +7,9 @@ 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: - (((some_long_computation / 12) + 5) - most_recent_remainder) * 2 - same_most_recent_remainder +1 + (((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. + 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. @@ -19,7 +19,7 @@ The remainder here is retrieved later than (and in addition to) the division it' * 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).