[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Defun inside Let
- To: Jeff Dalton <jeff%aiva.edinburgh.ac.uk@CS.UCL.AC.UK>
- Subject: Defun inside Let
- From: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>
- Date: Mon, 03 Feb 1986 14:37:00 -0000
- Cc: common-lisp@SU-AI.ARPA
- In-reply-to: Msg of 2 Feb 1986 13:34-EST from Jeff Dalton <jeff%aiva.edinburgh.ac.uk at cs.ucl.ac.uk>
- Sender: FAHLMAN@C.CS.CMU.EDU
To avoid any confusion: I agree with this interpretation of Common Lisp. What
I'm wondering (and I'm beginning to think I'll wish I'd never asked this) is
why this interpretation was chosen over that in Scheme.
Basically, we felt that everyone viewed Defun as the way you change
global function definitions and that Labels was the way you set up
lexically scoped ones. You need both things, and they already had
perfectly good names. While we knew about Scheme and were happy to rip
off some of its good ideas, the roots of the language were in the
Maclisp tradition and that's the way we did things if there was no
good reason to change.
For quite a while, I didn't think carefully about this and assumed that
FUNCTION was equivalent to SYMBOL-FUNCTION when applied to symbols. And it
is equivalent except for symbols defined as local functions. Should the
description of FUNCTION explicitly mention this exception, or is it clear
enough as is?
It wouldn't hurt to spell this out a bit more clearly.