signal errors on trying to subclass BUILT-IN-CLASSes, lp#861004
Introduce a new "interposing" (in AMOP terms) SYSTEM-CLASS to hang
some functionality on, and make BUILT-IN-CLASS a subclass. Most
of the specified functionality is common to both and implemented
in terms of SYSTEM-CLASS, but the error on subclassing is just for
BUILT-IN-CLASSES. This therefore involves making the subclassable
System Classes, SEQUENCE and STREAM (and subclasses), be of metaclass
SYSTEM-CLASS rather than BUILT-IN-CLASS. The bootstrap and braid need
to be adjusted accordingly. Implement the validate-superclass error
in terms of a new invalid-superclass generic function (as suggested
by Nick Levine in preliminary work on this problem), and make the
invalid-superclass error a reference-condition so that we can defend
our implementation strategy.
This is yet another example of a bug tagged "easy" which involves
dealing with the PCL bootstrap. Someone should do something about
this.
16 files changed: