On Wed, 11 May 2005, Ilias Lazaridis wrote:

>> - trait is short
>
> and used within C++

hmm.

>> - traits is a synonym for attribute (attr, attr_accessor, etc)
>
> no need to use a synonym.

i mean it's meaning is the similar to 'attr :a == trait :a'.

> [...]
>
>> random thoughts for attributes/against traits
>> 
>> - no confusion with other traits
>
> yes

but are the other traits being used?  also these seem to be called roles in
some langs too...  this is a valid concern though.

>> - the alias 'has' can make 'attribute' plenty short (the current version of 
>> traits uses this alias too btw.)
>
> yes
>
>> one other thing, the impl of traits was suprisingly hard.  the tricky
> [...]
>
> The code fragments (usage) I've saw are not thus attractive.
>
> Code should looks simpler, more 'natural'.

what do you think could be more natural than

   class C
     has 'a' => 42
   end

   c = C::new
   p c.a       #=> 42

or

   class AbstractWidget
     class << self
       has 'color'
       has 'width'
       has 'height'
     end
   end

   class SmallishBlueWidget
     color 'blue'
     width 100
     height 42
   end

??

it's the best i could manage.  come up with something more natural and i'll
see what i can do to implement.

> This is an important project, but should be setup collaborative.

i'm working 70+ hours per week already - but if someone wants to take over and
do the initial setup work it's fine with me.

> So, if you setup a ruby-forge project, people can contribute.

this is welcome of course - but see above.

> call it "attributes" or "attrib" or "has" - but not "traits".

+1 for attributes then.

cheers.

-a
-- 
===============================================================================
| email :: ara [dot] t [dot] howard [at] noaa [dot] gov
| phone :: 303.497.6469
| renunciation is not getting rid of the things of this world, but accepting
| that they pass away. --aitken roshi
===============================================================================