Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: Re: Re: Re: Apocalypse 12

by TimToady (Parson)
on Apr 20, 2004 at 02:11 UTC ( #346515=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Re: Apocalypse 12
in thread Apocalypse 12

2. My major concern about any mix-in kind of design (including inheritance and roles) is that people can wind up having methods available and have no idea where the method came from. I'm hoping that there will be a limited number of very useful traits and roles that are built in (or at least widely used) and people don't go about building too many of their own. That will let me amortize the cost of learning them over a lot of usage. This is not, however, fundamentally a language design issue but an education one.
I expect this one to be solved culturally, as you say. Plus it will help to have tools to tell people where their methods came from--when they want to know that, and not sooner.

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: Apocalypse 12
by bsb (Priest) on Apr 26, 2004 at 01:54 UTC
    $method.meta.getattributes doesn't list source class/role and version metadata but it could be included.

    This non-transparent method source also worried me. The combination of multiple inheritence, roles, traits, runtime role-things, multiple dispatch (including subtypes and signature distance), dispatcher/traversal options and the autoloading possibilities together make interpreting a method call potentially quite tricky. It seems like the composability and flattening of the Traits Paper has been lost.

    I have to remind myself that while the explanation has to be exhaustive, the cognitive load during programming should in fact be lighter.

      It seems like the composability and flattening of the Traits Paper has been lost.
      You must have missed this statement: "The .getmethods method has a selector parameter that lets you specify whether you want to see a flattened or hierarchical view, whether you're interested in private methods, and so forth."

      But yes, it would be nice if the flat view could also give you the pedigree of the methods.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://346515]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (9)
As of 2018-06-18 16:20 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (110 votes). Check out past polls.