[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

meaning of local define

Am I confused!  I don't understand why good style allows global DEFINE
to be used to define things other than procedures, but not local DEFINE.
It seems to me that in general one ought to be able to use the same
construct in the same way no matter where it appears.  Call this
principle "stylistic transparency".  Am I confused?

As another example of this, one of the things currently distressing some
users of Common Lisp is that

(let ((seed (get-universal-time)))
  (defun random (n)
    (setq seed (random-mungicate seed))
    (random-result seed n)))

doesn't compile properly in all Common Lisp implementations because of
ad hoc restrictions on where DEFUN is recognized.