note
merlyn
As I was reading through the article, I was anxiously awaiting the appearance of the [Schwartzian Transform].
<p>
But alas, even though you mention it in the title, and once in the body, you <i>never</i> got to it. Just the GRT, and Tye's particular trick.
<p>
I still think that the ST is always clearer than the GRT, and that jumping
to the GRT without careful consideration is a case of [premature optimization]—except for those rare cases where the work required to wiggle your data into a single sortable string isn't all that unobvious.
<p>
By contrast, here's "sort a list of IP addresses" using the ST:
<code>
my @sorted =
map $_->[0],
sort {
$a->[1] <=> $b->[1] or
$a->[2] <=> $b->[2] or
$a->[3] <=> $b->[3] or
$a->[4] <=> $b->[4]
}
map [$_, split /\./], @inputs;
</code>
Quite a bit shorter than your code, and far less trickery and magic.
<p>
So, it's too bad your title is a letdown. Good analysis, otherwise.
<!-- Node text goes above. Div tags should contain sig only -->
<div class="pmsig"><div class="pmsig-9073">
<p>-- [http://www.stonehenge.com/merlyn/|Randal L. Schwartz, Perl hacker]
<br>
Be sure to read [id://205373|my standard disclaimer] if this is a reply.</p>
</div></div>
457993
457993