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: <1NcgVc1w165w@sytex.com>
Sender: bbs@sytex.com
Organization: Sytex Access Ltd.
References: <Cyx236.7nD@cogsci.ed.ac.uk>
Date: Tue, 8 Nov 1994 03:24:47 GMT
Lines: 32

jeff@aiai.ed.ac.uk (Jeff Dalton) writes:

> >> They really omit *FUNCALL*?  EVAL I can believe, but FUNCALL is
> >> a bit extreme.  If they can't handle FUNCALL, how can they handle
> 
> >No. they restrict funcall and others to (funcall #' ...), (funcall ') is
> >forbidden. 
> 
> I'm not sure what you mean here.  For instance does (funcall f) work?
> 

Howdy,
        I have written a Lisp that behave's similarly. I suspect 
that EVAL isn't present, so there's problems with FUNCALL'ing
a '(LAMBDA () (+ 1 2)) type _list_. In other words, I suspect 
(funcall x) iff (functionp x) -> T. Now, of course, you don't 
need EVAL to perform a (SYMBOL-FUNCTION x) if X is a literal
symbol. Does it handle (funcall 'list-all-packages), for 
example? I don't know. If it doesn't, I'd call it broken and
/or at least needlessly restricted.
        P.S. My LinkLisp does have an EVAL, but non-atoms
(literals,symbols) perform compile/run. There is no "evaluator"
of list structured expressions; just a compiler/virtual machine.

This works out to be a general + for complicated expressions, 
and a general - for very simple function applications in an
EVAL intensive program. 

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