Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Re: Re: Why breaking can() is acceptable

by TimToady (Parson)
on Apr 07, 2004 at 17:50 UTC ( [id://343355]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Why breaking can() is acceptable
in thread Why breaking can() is acceptable

I think this will work out ok if .meta.can, when it's looking for wildcarding classes, distinguishes classes that define their own .can from those that don't, and only adds autoloaders to the end of the list that aren't shielded by a corresponding .can method. (The problems Perl 5 has with defining a .can method in a class shouldn't arise in Perl 6, which tries to prefer "next" semantics to "super" semantics. At worst we'll require people to say "next METHOD" at the end of each such .can method definition.)

Replies are listed 'Best First'.
Re: Re: Re: Re: Why breaking can() is acceptable
by tilly (Archbishop) on Apr 07, 2004 at 18:30 UTC
    If I make a few assumptions about how .meta.can works, that should work out. (As long as you're aware of the issue and want it to work out, I'm sure that you can fulfill some set of conditions to make things work out.)

    I'm guessing that the programmer would still need to synchronize .can and AUTOLOAD in some way, but a mechanism to make that easy should be simple to add at the user level.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://343355]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (6)
As of 2024-09-19 06:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    The PerlMonks site front end has:





    Results (25 votes). Check out past polls.

    Notices?
    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.