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)
|
At 5:37 PM -0500 1/20/00, Lars Thomas Hansen wrote: > >... but I fail to see the appeal of this mechanism. As far as I can > >tell, a scheme implementation which conforms to this SRFI allows me > >to write > > > >(set! (car x) 5) > > > >rather than > > > >(set-car! x 5) > >It's useful for syntactic (rather than procedural) abstraction. It >allows you to write macros like this: > > ;; inc! increments whatever is stored in the "location" that > ;; is its argument. > > (define-syntax inc! > (syntax-rules () > ((inc! ?loc) > (set! ?loc (+ ?loc 1))))) > >Without SRFI-17, you can at most pass a variable as a location: > > (inc! x) => (set! x (+ x 1)) > >but with SRFI-17 you can do better: > > (inc! (car x)) => (set! (car x) (+ (car x) 1)) > (inc! (vector-ref v i)) => (set! (vector-ref v i) (+ (vector-ref v i) 1)) > Let me clarify. I have nothing against syntactic abstraction. My concern is primarily with the unnecessary overloading of the set! primitive. Replace set! with set-location! (or set-l! if you prefer) and you have a language extension which a) I would not personally use, but b) I would not object to (much). john clements