Path: utzoo!attcan!uunet!husc6!bloom-beacon!tut.cis.ohio-state.edu!osu-cis!att!alberta!ubc-cs!faculty.cs.ubc.ca!manis From: manis@faculty.cs.ubc.ca (Vincent Manis) Newsgroups: comp.lang.lisp Subject: Re: nested function definitions Message-ID: <3266@ubc-cs.UUCP> Date: 22 Jun 88 20:58:00 GMT References: <5862@spool.cs.wisc.edu> <5568@utah-cs.UUCP> <3257@ubc-cs.UUCP> <22427@think.UUCP> Sender: nobody@ubc-cs.UUCP Reply-To: manis@faculty.cs.ubc.ca (Vincent Manis) Organization: UBC Department of Computer Science, Vancouver, B.C., Canada Lines: 16 Barry Margolin asks why I think DEFUN should be local if SETQ can be global. Basically, DEFUN performs an act of *binding*, whereas SETQ does an *assignment*. A function or value cell need not exist prior to DEFUN (or any other DEF form), whereas such a cell must exist prior to SETQ. Because of this difference, I see DEFUN as a lot closer to LET than it is to SETQ. Since LET is lexically scoped, so too should DEFUN. Vincent Manis | manis@cs.ubc.ca The Invisible City of Kitezh | manis@cs.ubc.cdn Department of Computer Science | manis@ubc.csnet University of British Columbia | uunet!ubc-cs!manis <> |