Subject: Re: Problem with recursive function and &rest
From: rpw3@rpw3.org (Rob Warnock)
Date: Thu, 03 Jun 2004 05:09:46 -0500
Newsgroups: comp.lang.lisp
Message-ID: <luSdnVF3u5h3ZSPdRVn-jA@speakeasy.net>
Pascal Costanza  <costanza@web.de> wrote:
+---------------
| Rob Warnock wrote:
| > Rahul Jain  <rjain@nyct.net> wrote:
| > +---------------
| > | In Commoner's Lisp, we should rename APPLY to FUNCALL*.
| > +---------------
| > 
| > Good idea! Except ... "*" doesn't always imply "final arg is list"...
| > Still, the LIST/LIST* :: FUNCALL/FUNCALL* analogy is appealing...
| 
| What about APPLY/APPLYN, as in PROG/PROGN?
+---------------

The problem is that APPLY already means "many". That is, PROG/PROGN
doesn't feel like the proper axis; PROG1/PROG2/PROGN seems a better
set to look at. And then back up from APPLY (which is closer to PROGN)
to something "smaller" as the FUNCALL equivalent. I might suggest APPLY0,
or APPLY1, except that FUNCALL isn't limited to a small number of args.

Hmmm... Too bad APPLY is so deeply embedded in the history of Lisp;
otherwise we could rename *it* into FUNCALLN.  ;-}

But to bring this back to Common Lisp today: We have the names we
have in CL, and yes, some of them are perhaps a bit funky when viewed
without the historical/evolutionary context, but that shouldn't stop
us from showing newcomers useful structural parallels, even if the
names themselves aren't very parallel. That is, even without renaming
(which, at this point, would be a mistake, IMHO), it is useful to
point out the parallels between LIST/LIST* and FUNCALL/APPLY.


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607