in reply to Re^3: RFC - Tie::Hash::Ranked
in thread RFC - Tie::Hash::Ranked
Yes, I saw that I could specify the sort routine, but not in a way that I'd want to specify it.
I agree it is not my prefered means either, however, sorting a hash can be done in many ways. By keys, by value, sort keys by value, sort values by keys etc etc. A simple pairwise comparison would not cover all these possibilities.
Take a look at how Tie::SortHash does it's pairwise sort function. It asks for a string which is then evaled into the sort block, and it always sorts on keys too. I am not sure that is a better solution.
So while I agree, its not my prefered style, I think it's a very flexible solution to the problem none the less.
As for sending a patch, making this module not have the algorithmic mistake doesn't require a patch, it requires a complete rewrite.
Well if you take issue with the underlying algorithim then yes, but as I pointed out above, I am not sure using a simple pairwise function would really make it all that much better. I disagree too that it would take a complete rewrite. If you looked a little closer, just adding a new function Pairwise_Sort_Routine ($func) would accomplish this by creating a new function/closure which fits the Sort_Routine criteria but uses the $func passed to Pairwise_Sort_Routine as the comparison. Of course, your pairwise sort would again be very restricted, as I pointed out above.
Since I don't currently have the need that this module was designed to address, I see no point in doing that work. And if I did have that need, I would still have no incentive to integrate the unwanted API.
Sounds to me that your issue is more with the API (although you have supplied no hard details). As for your points about efficiency, I think it is somewhat lost since just using tie is a big enough hit already.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: RFC - Tie::Hash::Ranked
by tilly (Archbishop) on Oct 12, 2004 at 17:12 UTC | |
by stvn (Monsignor) on Oct 12, 2004 at 17:26 UTC | |
by tilly (Archbishop) on Oct 12, 2004 at 17:50 UTC | |
by stvn (Monsignor) on Oct 12, 2004 at 18:18 UTC |