Pressures for Substantially New Squeaks

Reinier van Loon R.L.J.M.W.van.Loon at inter.nl.net
Mon Feb 15 20:03:09 UTC 1999


David,
>
>Would the following proposal work for solving 'order of filein' problem?
>
>- Extend the compiler to convert any references to unknown classes to
references
>  to a proxy that retains the name of the referenced class.
>- The proxy could then look for the real class at run-time (or via a
development time
> interface) and re-compile to the real class on the fly.
>
>-david


Yes. Currently these references are simply instances of Association.
Conceptually they are class references. We could replace them with instances
of ClassReference instead of Assocation. This opens up the possibility you
mentioned.

Following this line of thought every reference to a global objects should be
translated to an ObjectReference (or Proxy or ObjectPointer). That's the
first step to independence of the memory pointer model. I am not sure what
the consequences are for performance...

I don't think object references are necessary for instance and class
variables, strings, numbers but then again...
References to a superclass should also be an object reference (which is of
course a reference to a class). There's an example in The Essential
Distributed Object Survival Guide, page 336 where a Newi customer subclassed
over the network. In the example, the superclass was on the server and did
all kinds of db access. A subclass of this class was used on a PC and added
all kinds of local behavior.

Yes, location transparancy would be a nice thing. I'll have a stab at the
ClassReference thing or maybe even at the ObjectReference thing. Let's see
what can of worms I open...

It adds maybe complexity at the system level but removes some from the user
level (filing in source and writing source code becomes more like writing in
a word processor. After you're done you can use a spell check to check your
source code). Oops, does this sound like the traditional edit-compile?.

Reinier.





More information about the Squeak-dev mailing list