week9 tweak
[lambda.git] / week9.mdwn
index c01890e..0f108e8 100644 (file)
@@ -578,7 +578,7 @@ Programming languages tend to provide a bunch of mutation-related capabilities a
 
 *      One increment would be to add aliasing or passing by reference, as illustrated above. In the illustration, we relied on the combination of passing by reference and mutation to demonstrate how you could get different behavior depending on whether an argument was passed to a function by reference or instead passed in the more familiar way (called "passing by value"). However, it would be possible to have passing by reference in a language without having mutation. For it to make any difference whether an argument is passed by reference or by value, such a language would have to have some primitive predicates which are sensitive to whether their arguments are aliased or not. In Jim's paper linked above, he calls such predicates "hyper-evaluative."
 
 
 *      One increment would be to add aliasing or passing by reference, as illustrated above. In the illustration, we relied on the combination of passing by reference and mutation to demonstrate how you could get different behavior depending on whether an argument was passed to a function by reference or instead passed in the more familiar way (called "passing by value"). However, it would be possible to have passing by reference in a language without having mutation. For it to make any difference whether an argument is passed by reference or by value, such a language would have to have some primitive predicates which are sensitive to whether their arguments are aliased or not. In Jim's paper linked above, he calls such predicates "hyper-evaluative."
 
-       The simplest such predicate we might call "hyperequals": `y hyperequals w` should evaluate to true only when the arguments `y` and `w` are aliased.
+       The simplest such predicate we might call "hyperequals": `y hyperequals w` should evaluate to true when and only when the arguments `y` and `w` are aliased.
 
 
 *      Another increment would be to add implicit-style mutable variables, as we explained above. You could do this with or without also adding passing-by-reference.
 
 
 *      Another increment would be to add implicit-style mutable variables, as we explained above. You could do this with or without also adding passing-by-reference.