Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!pipex!uunet!sytex!smcl
From: smcl@sytex.com (Scott McLoughlin)
Subject: Re: Lisp->C compilers
Message-ID: <598HVc1w165w@sytex.com>
Sender: bbs@sytex.com
Organization: Sytex Access Ltd.
References: <39ouhd$7eh@daisy.informatik.uni-kiel.de>
Date: Wed, 9 Nov 1994 03:44:39 GMT
Lines: 39

wg@informatik.uni-kiel.d400.de (Wolfgang Goerigk) writes:

> You might call this restriction needless. But, if you just want to
> (funcall 'list-all-packages), why don't you simply write (funcall
> #'list-all-packages). Hence, in a way, allowing (funcall
> 'list-all-packages) consequently implies allowing (funcall (read)),
> too. But there are a lot of consequences: Now, every runtimesystem function
> as well as every user defined function eventually gets called. There
> is a significant effect on the size of applications as well as on the
> quality of global program analysis. The Common Lisp runtimesystem
> tends to get larger and larger :-) :-(
> 

Howdy,
        Of course, my example was a shorthand for something
like:
        (defun doit (asymbol) (funcall asymbol))
Where #' won't cut the mustard. Sorry if there was a 
misunderstanding there.
        When I said "needless restriction" I meant in terms
of space/speed. Having funcall dispatch on a symbol argument
and perform a SYMBOL-FUNCTION on the symbol should be pretty
cheap. _Only_ in this sense did I mean "needless".
        Of course, all of this was posted before your general
response explaining your intention to eliminate all of Lisp's
"reflective" qualities, which is perfectly cool with me. Lisp
is a nifty language to mess around with.
        In the general case, I fully sympathize with your
desire to pare down the runtime image. I've had a heck of a
time "subsetting" Common Lisp for my LinkLisp product; 
everything seems hopelessly "intertwingled".  I now think
progress would have been better just jumping in head first
and commiting to implementing the whole thing. Oh well, live
and learn.

=============================================
Scott McLoughlin
Conscious Computing
=============================================
