cloning/invocation
Jecel Assumpcao Jr
jecel at merlintec.com
Mon Sep 2 20:25:19 UTC 2002
On Saturday 31 August 2002 06:38, Marcel Weiher wrote:
> The thing to understand is that this isn't "new object creation". It
> is "definition". Object A *is* Parametrized Object B with parameters
> c=C and d=D. Think of it as the difference between putting a literal
> object someplace vs. code that constructs the object.
>
> For example, constructores always create an object. This is not
> necessarily the case here. If Parametrized Object B has parameters c
> and d, and I only give it a value for parmeter c, then I don't get a
> fully funcioning instance, I get a new parametrized object with
> parameter d. (That's the 'currying' aspect I was refering to).
Ok, this *is* different from what I was thinking. The terms you are
using remind me of "parameter based CAD" systems. Those (starting with
the original Sketchpad) have paremeters and constraints between
parameters, however.
> Furthermore, it is always possible to turn any object into a
> parametrized object by adding a slot to it (the slot turns an
> attribute or sub-structure into a parameter), so there is a back and
> forth between levels of abstraction (or meta-levels). I also call
> this little engine the "AbstractionEngine".
By "adding a slot to it" do you mean modifying the original object or
creating a new ID that points to the old object and also to the slot?
> The back-and-forth aspect also means that you can create long
> reference chains, with a parameter being introduced and bound over
> and over again. There probably needs to be a mechanism to simplify
> such chains, but that problem is a long way off for now.
It should be a simple problem to flatten these chains, though as I
indicated in my question above the exact nature of these chains isn't
clear to me.
> So the debugger synthesizes a view of the system that doesn't exist
> otherwise?
Exactly. Though note that a Self system implemented as a simple
interpreter would have that view actually exist as the interpreter's
state. On the other hand, in a Squeak implemented as a sophisticated
Jitter the "blue book" view wouldn't normally exist and have would have
to be faked by the debugger. So this is an implementation issue, not a
language one.
-- Jecel
More information about the Squeak-dev
mailing list
|