On Thu, Mar 13, 2003 at 10:21:25PM +1100, Damian Conway wrote:

> By distinguishing a parameter that *requires* a particular type, from
> a parameter that *ensures* a particular type (by coercion if
> necessary). I've suggested that using C<is copy> semantics should
> indicate "make whatever I'm actually given into one of these, if you
> can", whereas reference semantics say "this must already be one of
> these" (by their very nature, since an aliased parameter *is* the
> argument).

It looks like a lot of people is going to use "is copy" a lot.  Correct
me if I am wrong, but I see the default "is constant" trait largely as a
speed optimization.  Would not it be more correct from the point of view
of good Huffman coding, that "is copy" is made the default, and let the
module authors and large project implementors to bother with "is
constant" when they deem it necessary?  After all, this will be a small
added burden for folks who go the "type and trait everything" route.  An
extra bonus of making "is copy" the default would be the ability to
modify a parameter locally (Huffman coding again here for short program
writers).

=Anton.

Reply via email to