Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??
If the class has a compare method that doesn't work for my current problem, do I subclass it and create my own maxstr?

If you are referring to my original post, then yes. The Max class abstracts the algorithm of calculating a maximum of objects - the subclass implements the comparison in the appropriate context. Im not suggesting this is the best OO solution, just one that is like the Higher-Order equivalent.

If you meant "Foo.compareTo() doesnt compare Foos like I want", then the solution depends on (among other things) how much internal access you need to compute the comparison. There are quite a few ways this could be approached but to bring it back to my original point, they are mostly structured and organized - not hidden un-garbage-collected variables and blind function dereferencing.

What if each object needs a unique compare function?
Then what are you comparing it to? I would have thought similarity was a prerequisite for comparison.
What if these functions aren't known at compile time?
Closures are compiled too. That is, whether you use gt or > (or whatever) is decided at compile time - there is no runtime dynamic there.
What if there are so many functions that it's difficult to give them all unique and useful names?

They are all called 'compare' - different classes do different things when it is invoked.

update: clarification - Im not sure Im addressing your questions?




time was, I could move my arms like a bird and...

In reply to Re^5: How A Technique Becomes Over-rated by Ctrl-z
in thread How A Function Becomes Higher Order by Limbic~Region

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others imbibing at the Monastery: (6)
    As of 2015-07-04 02:02 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









      Results (57 votes), past polls