[RFC] traits-0.1.0

From: Ara.T.Howard [mailto:Ara.T.Howard@noaa.gov]
Sent: Tuesday, May 10, 2005 10:35 AM
To: ruby-talk ML
Subject: [RFC] traits-0.1.0

     - i like the word 'role' to describe what others are
calling traits. the
       perl6 guys use this too so any future impl of 'traits'
(the other ones)
       as 'roles' wouldn't likely suprise anyone

That seems reasonable.

     - 'traits' (the other ones) are of dubious value to
ruby. it's been shown
       that they can be easily implemented in ruby - yet no
one is using them.
       their value, to me, seems largely academic and smells of
       hyper-abstraction (read obfusication).

For Ruby they would only be useful where you want to mixin different
modules with identical methods, while needing access to a specific
access to a particular module's method that would otherwise have been
overwritten. Apparently this is such a rare occurrence that no one
worries about it and/or works around it for those times when it does
occur.

Unless anyone objects, you should keep your "traits" package the way it
is, and those other traits will be referred to as "roles" in Ruby
(should anyone implement them and release it as a package and/or
integrate it into the Ruby core).

Regards,

Dan

···

-----Original Message-----

From: Ara.T.Howard [mailto:Ara.T.Howard@noaa.gov]=20
Sent: Tuesday, May 10, 2005 10:35 AM
To: ruby-talk ML
Subject: [RFC] traits-0.1.0

     - i like the word 'role' to describe what others are=20
calling traits. the
       perl6 guys use this too so any future impl of 'traits'=20
(the other ones)
       as 'roles' wouldn't likely suprise anyone

That seems reasonable.

     - 'traits' (the other ones) are of dubious value to=20
ruby. it's been shown
       that they can be easily implemented in ruby - yet no=20
one is using them.
       their value, to me, seems largely academic and smells of
       hyper-abstraction (read obfusication).

For Ruby they would only be useful where you want to mixin different
modules with identical methods, while needing access to a specific
access to a particular module's method that would otherwise have been
overwritten. Apparently this is such a rare occurrence that no one
worries about it and/or works around it for those times when it does
occur.

my thoughts exactly.

Unless anyone objects, you should keep your "traits" package the way it
is, and those other traits will be referred to as "roles" in Ruby
(should anyone implement them and release it as a package and/or
integrate it into the Ruby core).

yay! +1 for less coding :wink:

-a

···

On Wed, 11 May 2005, Berger, Daniel wrote:

-----Original Message-----

--

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

===============================================================================