From 61612ba6746dc4646fb0d5bb1c9e1864bf927848 Mon Sep 17 00:00:00 2001 From: Jim Pryor Date: Mon, 20 Dec 2010 23:34:07 -0500 Subject: [PATCH] week9 tweak Signed-off-by: Jim Pryor --- week9.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/week9.mdwn b/week9.mdwn index f854d273..721dde59 100644 --- a/week9.mdwn +++ b/week9.mdwn @@ -696,7 +696,7 @@ Programming languages tend to provide a bunch of mutation-related capabilities a in let (adder', setter') = factory 1 in ... - Of course, in most languages you wouldn't be able to evaluate a comparison like `getter = getter'`, because in general the question whether two functions always return the same values for the same arguments is not decidable. So typically languages don't even try to answer that question. However, it would still be true that `getter` and `getter'` (and `adder` and `adder'`) were extensionally equivalent. + Of course, in most languages you wouldn't be able to evaluate a comparison like `getter = getter'`, because in general the question whether two functions always return the same values for the same arguments is not decidable. So typically languages don't even try to answer that question. However, it would still be true that `getter` and `getter'` (and `adder` and `adder'`) were extensionally equivalent; you just wouldn't be able to establish so. However, they're not numerically identical, because by calling `setter 2` (but not calling `setter' 2`) we can mutate the function value `getter` (and `adder`) so that it's *no longer* qualitatively indiscernible from `getter'` (or `adder'`). -- 2.11.0