Re: perhaps I've missed something ... John Clements 20 Jan 2000 23:59 UTC

At 3:01 PM -0800 1/20/00, Per Bothner wrote:
>John Clements <xxxxxx@cs.rice.edu> writes:
>
>  > ps. Since I am using a fixed-width font, I can see that the second
>  > one is actually two characters shorter.
>
>But that's hardly the point, is it?  If we were into counting
>characters, we'd be using APL (or J or C).  The point is economy
>of concepts.

At the risk of quote-snipping too aggressively, I think that this
remark most aptly characterizes our difference in opinion.  You
believe that an "economy of concepts" may be achieved by merging set!
and set-car!.  I believe that this is fundamentally misleading.

At 3:01 PM -0800 1/20/00, Per Bothner wrote:
>  Semantically:
>         (set! x v)
>is arguably syntactic sugar for:
>         (set! (the-evironment 'x) v)

If this were the case, then set! could presumably operate on any
environment, and not simply the current one. The result, essentially,
is dynamic scoping. This would move Scheme ... well, back about
twenty years.

I claim that rather than a first-class entity, the environment is
more or less an implementation detail; the clearest model to use in
teaching programming is that of algebra, and application by
substitution. The environment happens to be the easiest way to
implement that behavior. set! changes a binding; set-car! changes a
value.

john