Newsgroups: comp.lang.lisp
From: cyber_surfer@wildcard.demon.co.uk (Cyber Surfer)
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!zombie.ncsc.mil!news.duke.edu!news-feed-1.peachnet.edu!gatech!howland.reston.ans.net!news.sprintlink.net!demon!wildcard.demon.co.uk!cyber_surfer
Subject: Re: Why do people like C? (Was: Comparison: Beta - Lisp)
References: <Pine.A32.3.91.941014091539.42306C-100000@swim5.eng.sematech.org> <hbakerCxquDG.LEF@netcom.com> <Cxxwx0.1nC@rheged.dircon.co.uk> <Cy1H5H.5I8@cogsci.ed.ac.uk> <38icti$132@goanna.cs.rmit.oz.au>
Organization: The Wildcard Killer Butterfly Breeding Ground
Reply-To: cyber_surfer@wildcard.demon.co.uk
X-Newsreader: Demon Internet Simple News v1.27
Lines: 51
Date: Fri, 28 Oct 1994 11:40:39 +0000
Message-ID: <783344439snz@wildcard.demon.co.uk>
Sender: usenet@demon.co.uk

In article <38icti$132@goanna.cs.rmit.oz.au>
           ok@goanna.cs.rmit.oz.au "Richard A. O'Keefe" writes:

> In any case, what an absurd stick to beat Common Lisp with, seeing that
> a CLtL2 reader _can_ preserve alphabetic case!

I agree, altho there was an odd delay when I tried this in CLISP:

(defvar |abc| 5)
|abc|
abc

The last of the 3 lines produced an error, as expected. I had to
write "|abc|" instead of "abc". Is there an easier way of doing
this? I'm not sure.

> I myself have reservations about keyword arguments, and think that in
> a language with (let (--) --) there is no excuse for &aux.  Optional and
> Rest are nothing new.  I was an Interlisp enthusiast.  Interlisp handled

How about convenience? I often use &aux variables, esp when the
initial value is NIL, and it's the only variable in the function,
other than the formal parameters. You could question whether the
definition of the variable is in the right place, and I'd be more
sympathetic. However, Lisp isn't alone in doing it in this way.
Smalltalk and Actor also do it like that, and unless I'm remembering
it wrong, they don't support initialiser expressions.

> - Optional by allowing a function to by called with any number of
>   arguments:  excess arguments being evaluated and then ignored,
>   missing arguments defaulting to NIL.

The meaning is obscured. I still prefer to make it explicit!

> - Rest by means of NOSPREAD functions, defined by NLAMBDA.

I'm not familiar with the meaning of either of those symbols.
Could you please explain? Are they a part of CL that I've missed?

> I think one can argue with a clear conscience that &optional and &rest
> are no harder to implement, and allow one to express ones intentions
> more clearly.

And they expression something different to &aux. Why not make that
distinction? You don't have to use &aux. A lot of features, like
tagbody and go, are there, but you can easily choose not to use them.

Martin Rodgers
-- 
Please vote for moderation in comp.lang.visual
http://cyber.sfgate.com/examiner/people/surfer.html
