Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re^2: RFC: Sub::Prepend - Prepend code to named subroutines

by moritz (Cardinal)
on Jun 05, 2008 at 12:54 UTC ( [id://690416]=note: print w/replies, xml ) Need Help??


in reply to Re: RFC: Sub::Prepend - Prepend code to named subroutines
in thread RFC: Sub::Prepend - Prepend code to named subroutines

Does Sub::Compose fit the bill here?

Is Sub::Compose production ready? It sounds like a really nice idea, but it also sounds like not-so-robust way of doing things. (No offense meant here, just want to know).

What about Class::MOP?

That sounds like a great idea for methods, but does it work with subs? Also I don't see why a simple sub prepend should need a meta object protocol ;-)

Replies are listed 'Best First'.
Re^3: RFC: Sub::Prepend - Prepend code to named subroutines
by dragonchild (Archbishop) on Jun 05, 2008 at 13:25 UTC
    I've never used Sub::Compose in production, but you said that you're doing this for debugging purposes, so is that really a concern?

    As for Class::MOP, methods are subroutines. Subroutines are methods of their package. As for the MOP concern, you're doing this for debugging purposes. Does it really matter how it gets done?

    Also, I thought of another thing - this idea is also called Aspect-Oriented Programming and there's AOP on CPAN.


    My criteria for good software:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
      I've never used Sub::Compose in production, but you said that you're doing this for debugging purposes, so is that really a concern?

      Not me ;-). The debugging statment was preceeded by "for instance". I don't think debugging is the only use for such a thing.

      lodin complained about subtle bugs in various Hook:: modules, so I guess it's important for him not to introduce these by using "clever" modules.

      As for Class::MOP, methods are subroutines.

      Yes, but not all subroutines are methods. They follow a different dispatch (sub dispatch just looks into a single namespace, methods take @ISA into account).

      So I don't see why something that is written for method dispatch should have to work for sub dispatch as well.

      Does it really matter how it gets done?

      Not if it actually works, and I don't have to learn about MOP to use it.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2024-03-28 23:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found