zipper-lists-contin s/x/a/
[lambda.git] / week9.mdwn
index a738524..546b2d2 100644 (file)
@@ -628,10 +628,10 @@ Programming languages tend to provide a bunch of mutation-related capabilities a
        Because of the particular way the numerical identity predicates are implemented in all of these languages, it doesn't quite match our conceptual expectations. For instance, For instance, if `ycell` is a reference cell, then `ref !ycell` will always be a numerically distinct reference cell containing the same value. We get this pattern of comparisons in OCaml:
 
                ycell == ycell
-               ycell != ref !ycell (* these aren't numerically identical *)
+               ycell != ref !ycell (* true, these aren't numerically identical *)
 
                ycell = ycell
-               ycell = ref !ycell (* they are qualitatively indiscernible *)
+               ycell = ref !ycell (* true, they are qualitatively indiscernible *)
 
        But now what about?
 
@@ -751,6 +751,7 @@ Programming languages tend to provide a bunch of mutation-related capabilities a
 
        In point 7 of the Rosetta Stone discussion, the contrast between call-by-name and call-by-value evaluation order appears (though we don't yet call it that). We'll be discussing that more in coming weeks. In the [[damn]] example, continuations and other kinds of side-effects (namely, printing) make an appearance. These too will be center-stage in coming weeks.
  
+*      Now would also be a good time to read [[Advanced Topics/Calculator Improvements]]. This reviews the different systems discussed above, as well as other capabilities we can add to the calculators introduced in [week7](/reader_monad_for_variable_binding). We will be building off of that in coming weeks.
 
 
 ##Offsite Reading##