[EMAIL PROTECTED] wrote:
 Adds a single attribute to the class. It takes a simple string name and, 
optionally, a simple string value for type. {{ Conjectural: Actually, the
-simple string value alone won't cut it. We need to take a key there too? }}
+simple string value alone won't cut it. We need to take a key there too?
+Answer: No, just the string name of the type. Types are not classes, they just
+perform a C<does> operation.}}
But names of types need to also be specifiable as keys for full flexibility? Since they may be in any namespace, not just the current one.

+When declaring a class, you can optionally supply an array of method names that
+will be supplied by the composed class because of a conflict in the roles.
Should that read "...supplied by the class because...."?

This
+is done using the named parameter C<resolve>. This feature supports composition
+conflict resolution in languages such as Perl 6.
You can already do this, by passing the same list to "exclude" for each role. That doesn't seem to great a hardship to me - I just wanted to make sure it was clear that this feature was just sugar, not adding anything new? Note that to implement this the class has the keep the resolve list around too, making classes a little bigger in memory (not much I know, it's just an "is it worth it" question).

-  newclass $P0, "Foo"
+  $P0 = newclass "Foo"
   addattribute $P0, "a"   # This is offset 0 + classoffset
   addattribute $P0, "b"   # This is offset 1 + classoffset
Guess the talk of offsets need to go away, that's ye olde object model.

Thanks,

Jonathan

Reply via email to