Thanks, Carl.

=Austin



Carl Mäsak wrote:
Austin (>), Jonathan (>>), Austin (>>>):
One of the things that has been griping my wagger recently is the fact
that P6protoobject overrides vtable_defined so that protoobjects are always
considered undef.

Is there a good reason for this?
Yes; proto-objects are what fill the niche of (typed) undefined values in
Perl 6.
I have no clue what that means. Can you elaborate?

When I do...

  my Int $foo;

...what ends up sitting in the variable $foo is the 'type object' (the
object formerly known as 'protoobject') Int.

Similarly,

  my $foo;

...will store an undefined Any type object in $foo.

The utility of type objects being undefined is that that meshes well
with them being stored in the variables from the beginning. The reason
we want to store type objects in the variables upon declaration is so
that we can do things like

  my Dog $fido .= new;

...which is short for....

  my Dog $fido = Dog.new;

This works exactly because the type object is already in the variable
when the '.=' is called.

// Carl


_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to