Author: allison
Date: Sat Mar 31 19:06:39 2007
New Revision: 17913

Modified:
   trunk/docs/pdds/draft/pdd15_objects.pod

Log:
[pdd]: A few more small tweaks to Objects PDD.


Modified: trunk/docs/pdds/draft/pdd15_objects.pod
==============================================================================
--- trunk/docs/pdds/draft/pdd15_objects.pod     (original)
+++ trunk/docs/pdds/draft/pdd15_objects.pod     Sat Mar 31 19:06:39 2007
@@ -188,7 +188,8 @@
 
 =item 4
 
-An array PMC of the composed roles
+An array PMC of the composed roles (these are Role PMCs, not string names of
+roles).
 
 =item 5
 
@@ -281,10 +282,9 @@
 =item add_attribute
 
 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?
-Answer: No, just the string name of the type. Types are not classes, they just
-perform a C<does> operation.}}
+optionally, a simple string value or key specifying a type name. (A type name
+just checks C<does>, and doesn't necessarily correspond to a class or role
+name.)
 
 If the class has already been instantiated, adding a new attribute triggers the
 creation of a new class, replacing the old class. See L<Classes, Namespaces,
@@ -521,7 +521,7 @@
 
 Returns the offset of the first attribute for class Sz in object Py.
 
-=item getattribute Px, Py, Iz
+=item getattribute Px, Py, Iz [deprecated]
 
 Returns attribute Iz of object Py and puts it in Px. Note that the attribute
 number is an absolute offset.
@@ -698,10 +698,10 @@
 below). High level languaes will provide varying facilities to deal with this,
 and Parrot provides the primitives to implement them.
 
-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. This
-is done using the named parameter C<resolve>. This feature supports composition
-conflict resolution in languages such as Perl 6.
+When declaring a composed class, you can optionally supply an array of method
+names that will be supplied by the class because of a conflict in its roles.
+This is done using the named parameter C<resolve>. This feature supports
+composition conflict resolution in languages such as Perl 6.
 
 When adding a role to a class, you can optionally supply an array of method
 names from the role to exclude from the composition process. This is done using
@@ -757,8 +757,8 @@
 Adding the attributes C<a> and C<b> to the new class C<Foo>:
 
   $P0 = newclass "Foo"
-  addattribute $P0, "a"   # This is offset 0 + classoffset
-  addattribute $P0, "b"   # This is offset 1 + classoffset
+  addattribute $P0, "a"
+  addattribute $P0, "b"
 
 =head2 Instantiating an object
 

Reply via email to