On Tue, Dec 2, 2014 at 12:01 PM, Tom Hacohen <tom.haco...@samsung.com>
wrote:

> On 29/11/14 00:53, Chris Marshall wrote:
> > On Fri, Nov 28, 2014 at 11:01 AM, Tom Hacohen <tom.haco...@samsung.com>
> wrote:
> >> On 28/11/14 13:36, Chris Marshall wrote:
> >>> On Nov 28, 2014 4:12 AM, "Tom Hacohen" <tom.haco...@samsung.com>
> wrote:
> >>>>
> >>>> On 28/11/14 10:05, Tom Hacohen wrote:
> >>>>> On 25/11/14 21:58, Chris Marshall wrote:
> >>>>>> I would like to support perl5 roles which are also known as traits:
> >>>>>>
> >>>>>>       http://scg.unibe.ch/archive/papers/Scha03aTraits.pdf
> >>>>>>
> >>>>>> >From the positive experience with roles in perl5 modern OO
> >>>>>> developments, there is reason to believe that their support in
> >>>>>> EO might be equally useful and maybe an improvement over
> >>>>>> the mixin functionality.
> >>>>>>
> >>>>>
> >>>>> Thanks, will read into that.
> >>>>>
> >>>>> Will reply to the rest of your emails in a second.
> >>>>
> >>>> I don't see how they are different from mixins with 0 associated data.
> >>>> They just seem like a more restricted version of mixins.
> >>>
> >>> The main difference is that they get composed into the class as they
> are
> >>> applied so there is no further MRO or inheritance.  This gives the good
> >>> parts of multiple inheritance without the pathologies.
> >>
> >> OK, so they are a way to add methods to a class directly? Interesting.
> >> Though I don't see the benefits over mixins. They integrate well into
> >> the MRO and let you do a bit more (have data) that we actually use
> >> (though could refactor to avoid).
> >
> > Here are a couple of pages that give some explanation
> > of roles in perl5 and the comparison of roles versus
> > interfaces, mixins, and traits in some other languages.
> >
> >    http://search.cpan.org/~ether/Moose-2.1402/lib/Moose/Manual/Roles.pod
> >
> http://radar.oreilly.com/2014/01/horizontal-reuse-an-alternative-to-inheritance.html
> >
> > For the purposes of the Perl Data Language, the use of
> > roles, method modifiers (before, around, after other methods),
> > together with the ability to apply roles to objects form the
> > basis for the PDL3 JIT support in the works.
> >
>
> I skimmed over the links, and I still don't see the benefit. A mixin
> could provide the pull_plough without any issues, and everything will
> work as expected.
> Furthermore, in the first link it's explicitly said that "Moose roles
> are similar to mixins or interfaces in other languages.", so even there
> they don't say anything about them being better.
>
> I need an example (preferably a real life use case) of something I can't
> do, or can it's much harder to do, without roles.
>
>
Understood.  Once I can get eo/eina/eolian working I plan to
determine where on the spectrum perl "roles" fit relative to the
EO "interfaces" and "mixins".  From what I can tell, there is
a bit of variation in exactly what is meant and how the
implementations work.

If I can accomplish my goals withEO mixins as-is, great.

If I determine that something more is needed for my PDL
application, I'll provide some use cases supporting that need
and investigate options for implementation.  It would probably
amount to a new enum for roles and code to handle them.

I spent a number of hours on Saturday working to edit out
the non-eo/eina/eolian parts of the src/Makefile.am and the
configure.ac but when I was getting close, I deleted one
too many things and ended up with a configure file that
would not execute so I'm back to square one on that.

--Chris
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to