Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!sun-barr!newstop!texsun!pollux!ti-csl!m2!gateley From: gateley@m2.csc.ti.com (John Gateley) Newsgroups: comp.lang.scheme Subject: Re: Consing Rest Args Considered Harmful Message-ID: <101140@ti-csl.csc.ti.com> Date: 6 Dec 89 19:43:17 GMT References: Sender: news@ti-csl.csc.ti.com Reply-To: gateley@m2.UUCP (John Gateley) Organization: TI Computer Science Center, Dallas Lines: 18 In article Barak.Pearlmutter@F.GP.CS.CMU.EDU writes: >In Oaklisp, Kevin and I used a somewhat ideosyncratic solution to the >rest args problem. A form like (lambda (a b . c) BODY) makes a >procedure of at least two arguments, and BODY can refer to the first >two, A and B. But the token C is not a variable; it is special syntax >indicating that an indeterminite number of rest arguments are being >passed. ... I am strongly opposed to this approach because it introduces a second-class data type into Scheme. The rest-arg object, which you can think of as being bound to 'c' above, has several restrictions on its use. The philosophy of Scheme is that everything is first class. If you were talking about CL on the other hand, where they care about efficiency more, then the above seems reasonable. John gateley@m2.csc.ti.com