Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!ukc!edcastle!aiai!jeff From: jeff@aiai.ed.ac.uk (Jeff Dalton) Newsgroups: comp.lang.lisp Subject: Re: FUNCALL question Message-ID: <1677@skye.ed.ac.uk> Date: 5 Feb 90 16:41:01 GMT References: <3277@accuvax.nwu.edu> <1990Jan28.175437.19293@hellgate.utah.edu> <1655@skye.ed.ac.uk> <386@forsight.Jpl.Nasa.Gov> <19471@mephisto.UUCP> <19479@mephisto.UUCP> Reply-To: jeff@aiai.UUCP (Jeff Dalton) Organization: AIAI, University of Edinburgh, Scotland Lines: 17 In article <19479@mephisto.UUCP> buff@pravda.UUCP (Richard Billington) writes: >Whoever claimed that functions were first class citizens in any other lisp >than scheme - I thought that was the single biggest reason for bringing >scheme into existance: to have a clean implementation of the lambda calculus, >which lisp is NOT (even McCarthy agrees - making functions second class >citizens was a mistake). I would say functons are 1st class in Common Lisp. They can be passed as arguments, returned as results, assigned to variables, included in data structures and have indefinite lifetimes just like, say, lists. What more is needed? OK, they can't be read and printed, but they can't in Scheme either. (Note, though, that in CLtL '84 functions needn't be a distinct data type -- eg, they might be lists. I'm assuming that this will change.) -- Jeff