Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: A Class:: module I don't want to write

by Aristotle (Chancellor)
on Nov 24, 2005 at 00:33 UTC ( [id://511288]=note: print w/replies, xml ) Need Help??


in reply to A Class:: module I don't want to write

I agree with what shotgunefx said over in your other thread.

I think these modules are symptoms of a fundamental problem in Perl5.

The basic task is about as trivial as a task gets, and always depends quite intimately on the other code you’re writing. In other words, this is not something that can be reused. What it is is something which should be transparently rewritable every time you need it, by virtue of the language supporting enough abstraction that no particular rewrite of the code duplicates logic to an appreciable extent. Accessor generation should be composable so directly of such basic operators that rewriting it would “duplicate” no more “logic” than writing $total = $price + $vat in one place in the code and $eta = $now + $runtime in another does.

With Perl5, rewriting is doable, but a tad too verbose – hence the desire to package the code into a module, even though it is conceptually un-reusable.

Hopefully the higher-level functional composition operators in Perl6 will make this sufficiently transparent.

Makeshifts last the longest.

Replies are listed 'Best First'.
Re^2: A Class:: module I don't want to write
by siracusa (Friar) on Nov 24, 2005 at 19:03 UTC
    "Conceptually un-reusable"? I re-use my method maker all over the place...basically, in every single other module I write. I'm not sure if that's "conceptual" or not, but it sure is re-use! :)

      Yes. A method maker is verbose enough in Perl5 that you will want to reuse it. As long as you can make a sufficient number of assumptions about the classes it gets used in, you can get some milage out of such reuse, too. These are things I already said.

      The point still stands that if the language offered enough abstraction, you would never even feel the urge to use a method maker. Consider that in Perl6, there will be a default OO system for which you will be able to declare attributes without writing code to implement them, and will be able to attach constraints to such attributes declaratively. For those cases where you need something really fancy, there will be functional composition constructs to make the job as simple as possible. Will there be any need for method makers?

      Aren’t method makers, then, an attempt to patch a deficiency in Perl5?

      Makeshifts last the longest.

        Will there be any need for method makers?

        Yes, I think so, for the same reasons they're useful in Perl 5. OTOH, I'm not sure what you mean by "functional composition constructs," so maybe the answer is really "no" :) Can you explain?

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (7)
As of 2024-03-28 11:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found