From ... From: Erik Naggum Subject: Re: Lisp & SICP Date: 2000/05/16 Message-ID: <3167453250589287@naggum.no>#1/1 X-Deja-AN: 623970119 References: <391E9C25.94F5C377@uniserve.com> <3167393469185860@naggum.no> <39202cd5$0$207@nntp1.ba.best.com> <39207010.3C2A4CE8@kenan.com> <3920b0da$0$220@nntp1.ba.best.com> mail-copies-to: never Content-Type: text/plain; charset=us-ascii X-Complaints-To: newsmaster@eunet.no X-Trace: oslo-nntp.eunet.no 958464708 751 195.0.192.66 (16 May 2000 08:11:48 GMT) Organization: Naggum Software; vox: +47 8800 8879; fax: +47 8800 8601; http://www.naggum.no User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.6 Mime-Version: 1.0 NNTP-Posting-Date: 16 May 2000 08:11:48 GMT Newsgroups: comp.lang.lisp * Chuck Fry | So, what I was asking is, how does this differ *semantically* from an | explicit FUNCALL function, discounting the obvious lack of the syntactic | marker (the FUNCALL name)? Which semantics are we using today? If an expression communicates something different from another expression to human readers, but do not cause a compiler or interpreter to do anything differently, arguing that it has no "semantic" difference is ill-conceived, as we do not program only for the compiler or interpreter. Using funcall communicates "evaluate the second position for its functional value" (just like apply). Not using funcall means that the first position is never "stable" and can never be trusted. This is a semantic difference in the language communicated to the human readers. #:Erik -- If this is not what you expected, please alter your expectations.