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

Poor excuse for packages



    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)
		  (SPECIAL:PRINT-PRETTY T))
	      ...)
    or
	    (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.