Conway advises that sort functions should be simple. Any complicated operations on list elements should be computed and cached (perhaps via a Schwartzian Transform) before the sort, rather than computed inside the sort block, because the sort block is called N log N times instead of just N times.

This policy prohibits the most blatant case of complicated sort blocks: multiple statements. Future policies may wish to examine the sort block in more detail -- looking for subroutine calls or large numbers of operations.


Chris Dolan <cdolan@cpan.org>


Copyright (C) 2006 Chris Dolan. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.