[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Poor excuse for packages
- To: gls%AQUINAS@THINK.ARPA, common-lisp%sail@THINK.ARPA
- Subject: Poor excuse for packages
- From: Bernard S. Greenberg <BSG@SCRC-STONY-BROOK.ARPA>
- Date: Fri, 17 May 85 11:24 EDT
- In-reply-to: <850517103227.1.GLS@DESIDERIUS.ARPA>
Date: Friday, 17 May 1985, 10:32-EDT
From: Guy Steele <gls%AQUINAS@THINK.ARPA>
KMP hinted at a very interesting solution to the special-variables
problem: let symbols in the package SPECIAL name special variables,
and let all others name local variables. There doesn't seem to be
much wrong with
(LET ((SPECIAL:MY-GLOBAL-FLAG 43)
(DEFUN FOO (A B SPECIAL:C) ...)
It's cheap to detect, too, in interpreter or compiler: just check the
package cell. This I like. Too bad it's too late.
An ugly suggestion is to ADD this mechanism to the language without
removing the declaration syntax yet, and let people phase over during
the next year. Ugh, bletch.
There is a fairly major problem with this. "Suppose two applications
that have nothing to do with each other use the symbol SPECIAL:FOO".
I.e., everything that packages had bought you is now lost.