On Tue, Mar 22, 2005 at 05:18:44PM +0100, Thomas Sandlaß wrote:
: Rod Adams wrote:
: > multi sub postcircumflex::<[ ]>(MyArray $obj : [EMAIL PROTECTED]) is rw 
{...}
: >
: >but I'll wait for S14 before speculating further.
: 
: Will that ever be written? And if yes, will it be like S13 which
: is basically saying that overloading is subsumed by A12/S12?

We'll might put a few things into S14 eventually if they seem to be
causing confusion.

: I see the 'does' operator as the sole successor to tie/bless.

We still have a Class.bless, but it does something a bit different on
standard objects, where it now fires off all the internal allocation and
initialization routines.  But yes, for adding functionality to an existing
object, 'does' (and 'but') are better ideas.

: There are actually three tasks for 'does':
: 
: 1) declarative compile time role composer

When applied to a class definition.

: 2) declarative compile time contraint imposer

When applied to a variable or parameter.

: 3) imperative runtime on the fly class composer

When applied to an object (or class?).  In its imperative it always
creates an anonymous class via mixin, rather than trying to level
everything as 1 does.

:    (does operator 'but' do similar things on copies?)

That seems to be the effect of it.

: 1 and 2 are backed by the runtime dispatch and type check system.
: Depending on compiler switches they also constitute the compile
: time type checking.

You can theoretically choose your level of pain in Perl 6.  To what extent
we can make that work out in practice remains to be seen.

Larry

Reply via email to