HaloO,

Autrijus Tang wrote:
If I'm mistaken, please let me know, preferably by suggesting
new arrangements on the diagram. :-)

Without judging your mistakes, here are my comments to the
container picture.

1) I would move the ::name to the Pad level. The idea is
   that ::name is some less specific supertype of the
   Fantastique Four ($&@%) if more than one of them exists
   on the container level.

2) I don't understand why you need two levels of indirection
   firstly the container and then the cell. Not to mention
   the third one to the tied thingy.

3) Why is the link from the container labeled with :=
   but the link between the cell and the value with =?
   I would consistently dispatch *all* operators including
   :=, = and =:=. Preferably at compile/check time. Container
   types are then on the same level as any other parametric
   type. This "naturally" explains why your "is IType" can
   be changed like underwear. For the type system it is just
   another mutator. Whatever it does to the tied object takes
   effect only by changing the type and hence the methods which
   are applicable.
--
::TSa.greeting := "HaloO"; # mind the echo!

Reply via email to