
From: jhf@lanl.gov X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Date: Fri, 16 Feb 2001 16:53:13 -0700 (MST) Organization: Los Alamos National Laboratory Cc: karczma@info.unicaen.fr, haskell-cafe@haskell.org On 16-Feb-2001 Matthias Felleisen wrote:
Because imperative languages have named one half of the denotation (the value return) and not all of it for a long long long time. It's too late for Haskell to change that. -- Matthias
Well now, if I am to understand what a return statement in C does, I must realize not only that it may return a value to a calling routine, but also that it preserves the store. If it allowed the store to vanish, it wouldn't be very useful, would it? So I don't see how it's reasonable to assert that "return" means only one of these two things to a C programmer. Cheers, --Joe Let me spell it out in detail. When a C programmer thinks about the 'return' type of a C function, he thinks about the value-return half of a return statement's denotation. The other half, the modified store, remains entirely implicit as far as types are concerned. This is what Jerzy's exam question was all about. -- Matthias