[plt-scheme] to define, or to let
On Mar 22, 2004, at 3:38 AM, Anton van Straaten wrote:
> If there is under-specification present here, surely it is actually in
> the
> language which disallows the specification of order independence,
> despite
> such order independence being a manifest property of large parts of
> real
> world systems?
I agree with this part of your message. R5RS's (non)specification of
function application is similar to its "overloading" of lambda. As you
perfectly well know, in R5RS lambda abstracts *and* allocates a mutable
piece of storage. If you think about it for just one moment, you see
that this non-orthogonality at an extreme. (Still, I won't argue its
occasional practicality.)
Now think about function application in the same way. It combines apply
proper with *sequential* non-determinism. Why? I have thought about
this for a long time, and I can't find a reason for the combination of
non-determinism and sequentiality.
Turn around and think about the following. Say we introduce a construct
"evaluate these expressions in any order and give me all the values."
Call it values*. You can then use the resulting values for function
application (apply proper) or for the construction of a data structure.
Why just use them for apply?
Enough said -- Matthias