On Thu, Jul 2, 2009 at 3:59 PM, Hans Dieter Pearcey<h...@pobox.com> wrote: > On Thu, Jul 02, 2009 at 03:32:54PM -0400, Stevan Little wrote: >> The result is that we would have something like this: >> >> has foo => (traits => [ 'Basic::ArrayRef' ], isa => ArrayRef, ...); >> >> has web_hits => (traits => [ 'Pattern::Counter' ], ...); >> >> As long as the traits are below the right Moose::*::*:: namespace we >> should be good. > > Do not forget to distinguish between full names > (Moose::Meta::Attribute::Trait::whatever) and short names > (register_implementation). > > It may be reasonable for 'ArrayRef' to be the shortname but > 'DataType::ArrayRef' > to be the namespace under Moose::Meta::Attribute::Trait.
DataStructure:: is fine if the registerd version doesn't require typing DataStructure:: every time ... that said Structure:: is I think enough for Structural things. Queue / Stack are stuck into DataStructures in CS classes but I don't see them as being any more or less structural than a Counter which is really a monotonic variable ... or a snapshot of a vector ... or .... the fact is that a Queue or a Stack is a List with pre-defined operations you can perform upon it (push/pop and enqueue/dequeue) this is why I put them into the pattern category rather than the Data Structure one ... despite what my CS text books might have claimed.