perhaps I've missed something ... John Clements (20 Jan 2000 22:21 UTC)
Re: perhaps I've missed something ... Lars Thomas Hansen (20 Jan 2000 22:38 UTC)
Re: perhaps I've missed something ... Shriram Krishnamurthi (20 Jan 2000 22:52 UTC)
Re: perhaps I've missed something ... Lars Thomas Hansen (20 Jan 2000 23:02 UTC)
Re: perhaps I've missed something ... John Clements (20 Jan 2000 22:58 UTC)
Re: perhaps I've missed something ... Lars Thomas Hansen (20 Jan 2000 23:05 UTC)
Re: perhaps I've missed something ... John Clements (20 Jan 2000 23:12 UTC)
Re: perhaps I've missed something ... sperber@xxxxxx (21 Jan 2000 07:38 UTC)
Re: perhaps I've missed something ... Lars Thomas Hansen (20 Jan 2000 22:44 UTC)
Re: perhaps I've missed something ... John Clements (20 Jan 2000 23:09 UTC)
Re: perhaps I've missed something ... Per Bothner (20 Jan 2000 23:01 UTC)
Re: perhaps I've missed something ... Matthias Felleisen (20 Jan 2000 23:18 UTC)
Re: perhaps I've missed something ... Per Bothner (20 Jan 2000 23:55 UTC)
Re: perhaps I've missed something ... Matthias Felleisen (21 Jan 2000 01:04 UTC)
Re: perhaps I've missed something ... Per Bothner (21 Jan 2000 01:49 UTC)
Re: perhaps I've missed something ... Matthias Felleisen (21 Jan 2000 02:40 UTC)
Re: perhaps I've missed something ... thi (21 Jan 2000 09:58 UTC)
Re: perhaps I've missed something ... Per Bothner (21 Jan 2000 18:36 UTC)
Re: perhaps I've missed something ... sperber@xxxxxx (22 Jan 2000 10:32 UTC)
Re: perhaps I've missed something ... Per Bothner (23 Jan 2000 20:02 UTC)
Re: perhaps I've missed something ... Shriram Krishnamurthi (23 Jan 2000 20:50 UTC)
Re: perhaps I've missed something ... Per Bothner (23 Jan 2000 21:25 UTC)
Re: perhaps I've missed something ... sperber@xxxxxx (24 Jan 2000 07:30 UTC)
Re: perhaps I've missed something ... Michael Livshin (24 Jan 2000 16:55 UTC)
Re: perhaps I've missed something ... sperber@xxxxxx (25 Jan 2000 07:43 UTC)
Re: perhaps I've missed something ... Michael Livshin (25 Jan 2000 11:02 UTC)
Re: perhaps I've missed something ... sperber@xxxxxx (25 Jan 2000 11:31 UTC)
Re: perhaps I've missed something ... Matthias Felleisen (25 Jan 2000 13:47 UTC)
Re: perhaps I've missed something ... sperber@xxxxxx (24 Jan 2000 07:29 UTC)
Re: perhaps I've missed something ... John Clements (20 Jan 2000 23:59 UTC)
Re: perhaps I've missed something ... Per Bothner (21 Jan 2000 00:18 UTC)
Re: perhaps I've missed something ... Shriram Krishnamurthi (21 Jan 2000 00:03 UTC)
Re: perhaps I've missed something ... Per Bothner (21 Jan 2000 00:37 UTC)
Re: perhaps I've missed something ... Shriram Krishnamurthi (21 Jan 2000 08:39 UTC)

Re: perhaps I've missed something ... Per Bothner 21 Jan 2000 01:49 UTC

Matthias Felleisen <xxxxxx@cs.rice.edu> writes:

> Then why do you suggest that they are the same concept? Worse, why do you
> suggest using the same syntactic construction for both?

Because they are related concepts?  Because most other programming
languages use the same syntactic construction for both?  Because
many people seem to find that a natural way of doing things?
And because of [below]?

> >  At least for top-level environments, the two forms are equivalent.
> I don't even understand this claim. What does it mean?

I mean that:
        (set! x (+ x 1))
and:
        (set! (lookup-in-toplevel-enviroment 'x)
              (+ (lookup-in-toplevel-enviroment 'x) 1))
are equivalent when x is not bound in the lexical environment.

> AND: Why would you ever use set! on top-level variables except for
> pedagogic reasons?

Because you want to change their values and there is no other way
to do it?  (define only works at top level.)

> >  >    If it weren't for set!, Scheme would be a perfect data-oriented
> >  >    language on top of mathematics (and thus mathematical reasoning).
> >  And pray how is set! different from set-field-of-something! in this respect?
> That's what I mean. Read Felleisen-Friedman POPL 87, LISP88, and
> Felleisen-Hieb TCS 91. Read Crank-Felleisen POPL 90. Read Mason's
> dissertation (Stanford 87) and Mason-Talcott's series of papers.

Give me a break.  I am not one of your graduate students.  I don't
have those papers, I can't find any of those papers (except tcs91) on
your web-site, and I don't have time to wade through multiple theory
papers.  (I will also admit hard-core theory was never my strong suit,
and I'm a decade out of practice.)

But you really mean to claim that set-cdr! is consistent with Scheme
being a "perfect data-oriented language on top of mathematics (and thus
mathematical reasoning)" but set! is not?  You also claim this result
has practical consequences for language design?  If so, perhaps you
could point me at the one or two most-accessible papers that explains this?
--
	--Per Bothner
xxxxxx@bothner.com   http://www.bothner.com/~per/