Re: perhaps I've missed something ... Per Bothner 21 Jan 2000 00:37 UTC

Shriram Krishnamurthi <xxxxxx@cs.rice.edu> writes:

> Per Bothner wrote:
> > First, most "beginning students" actually have experience with
> > languages (such as C or Java) that are more like the proposal.
>
> Sorry, C and Java's models are wholly distinct.  Java's is essentially
> the same as Scheme's, and C's, well, isn't.

I assume you misunderstood my point, but I fail to see a way in which
"Java is essentially the same as Scheme and C isn't" that is relevant
to this discussion.

In Java you write:
        a[i].b(j).c = v;
just like in C - and just like in extended-set!.

Java also has the concept of "properties" (as in JavaBean properties),
but I'll leave that out of the discussion.

> You would no longer be able to tell which variables must be boxed and
> which ones not.  Since you can, in fact, tell this in Scheme, the two
> are semantically unrelated.

Perhaps I should re-phrase my point.  Consider:
(G) (set! top-level-variable v)
(L) (set! lexical-variable v)
(F) (set-member! table selector v).

I claim (F) is closer semantically to (G) than (G) is to (L).
Given that we use set! for both (G) and (L), I find the arguments
against using set! for (F) as well to be unconvincing.
--
	--Per Bothner
xxxxxx@bothner.com   http://www.bothner.com/~per/