Proposal: Squeak-E = Squeak x Kernel-E
tim at sumeru.stanford.edu
Tue Jan 28 16:47:50 UTC 2003
> >A compiler's access to names should be scoped to the context it
> >operates in. That context is the Class instance, and it's
> >superclasses. An import of name scopes is the typical way that a
> >class can get to other names.
> Why the compiler? With the whole, err, 'war' on dynamic scoping raging on
> in the other thread between Stephen and Avi ;), I think there's enough
> complexity already. Can we leave out the compiler for now?
If I'm understanding the above correctly then the compiler _already_
does this. The scope for compiling in instance variables, class variable
(both inheritd up the class chain of course) and each classes
environment, plus Undeclared. And maybe some more details I forget atte
moment. It just happens that Smalltalk is the default environment for
all the classes currently in the sytem.
It is quite possible to create another environment and build classes
within it, even another Object. I have a image right here that does
exactly that, though the tricky bit I'm not happy with as yet is the
metaclasses. After all until I have Behavior, Class etc in the new
environment how can I give the new-environment-Object a proper
metaclass? I'm sure it'll turn out to be trivial when I finally work it
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Every bug you find is the last one.
More information about the Squeak-dev