TSa wrote:
you wrote:
> I think I found the core of the issue here; it has to do with the
> differences between roles and mixins, with an analogous difference
> between compile-time composition and runtime composition.  Details
> follow.

I think we are basically through the discussion. Thank you for your
patience so far. It's interesting to note that you make a distinction
between mixins and roles. I think of roles as being mixins.

I'm only making the distinction based on a very restrictive definition
of "mixin" - and I'm doing so largely to illustrate the conceptual
differences between compile-time and runtime composition.

> Just to clarify some terminology: in the above statement,
> 'ComposedClass' composes 'Role', and 'ComposedClass' inherits from
> 'UncomposedClass'.  Conversely, 'Role' is composed into
> 'ComposedClass'.

This is still not how I think of it. I'm more thinking of the
composition process as having the *same* class in a pre- and a
post-composition state.

I see it now.  I still don't agree with using it as the default
approach; but I see it.

As you describe it, the current compile-time composition lets
the role define a type bound of the composition result in the
sense that instances of the class do the role.

Note that because perl 6 uses a prototype approach to
object-orientation, the class itself counts as an instance of the

Jonathan "Dataweaver" Lang

Reply via email to