From ... From: Erik Naggum Subject: Re: (no subject) Date: 1999/03/13 Message-ID: <3130279015407200@naggum.no>#1/1 X-Deja-AN: 454411439 References: <36E74ACB.7594C314@earthlink.net> <87oglzmft1.fsf@2xtreme.net> <3130271957311515@naggum.no> <7cccp6$d7ueg@fido.engr.sgi.com> mail-copies-to: never Organization: Naggum Software; +47 8800 8879; http://www.naggum.no Newsgroups: comp.lang.lisp * rpw3@rigden.engr.sgi.com (Rob Warnock) | I'd be interested to hear what in Scheme causes you to toss it so | cavalierly into the non-expression-language camp. the stuff you just mentioned about the value of side-effecting forms, and SET!, in particular. saying that it returns a value is like saying that an unbound slot in a class instance has a value. clearly, these forms are not intended to be used for their value, and the language is quite explicit in that respect. had the language defined SET! to return the new value of the object that got it, and DEFINE to return either the symbol or the object, I would have had a much weaker case. as it stands, however, Scheme does proper homage to the Algol tradition, to which it was dedicated, at least as of R4Rs. (I personally think it's a serious mistake to try to marry Algol to Lisp, and Scheme is the bastard that came out of it, but this is not something I thought before I studied Scheme, it's a conclusion after watching the horrible messes people who like Scheme willingly get themselves into.) BTW, if Scheme had had a _value_ that could be compared with the result of SET!, things would also look very different. #:Erik