Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!think.com!mintaka!snorkelwacker.mit.edu!ai-lab!zurich.ai.mit.edu!jaffer From: jaffer@zurich.ai.mit.edu (Aubrey Jaffer) Newsgroups: comp.lang.scheme Subject: Re: evaluating () should be an error Message-ID: Date: 24 Mar 91 20:43:54 GMT References: <1991Mar24.064144.4256@daffy.cs.wisc.edu> Sender: news@ai.mit.edu Organization: M.I.T. Artificial Intelligence Lab. Lines: 9 In-reply-to: quale@saavik.cs.wisc.edu's message of 24 Mar 91 06:41:44 GMT In scm1-3 `()' is an immediate datatype (like integers, characters, and booleans) and all immediate datatypes evaluate to themselves. It would slow down interpretation to check for () explicitly. Scheme allows lots of sloppy and incompatible coding practices. For instance, using the values of define, set!, set-car!, string-set!, etc. These functions represent far worse compatablility problems than '(). Some implementations return the new value and some the old value of the object changed.