in reply to When should a wheel be reinvented
So treat reinvention as a learning exercise.
I'm planning to 'reinvent' a Huffman coding module - I'll learn heaps about the algorithm, and there is plenty of scope for 'improving' it via speed improvement with C and XS, different dictionaries of symbol frequencies, different style interfaces(oo/functional/tied), Apache modules to acts as a deflate/inflate filters, SOAP/.NET interfaces, etc etc
In fact one could use a problem like this to compare the subjective ease/power qualities of a language - how hard is it to do in Perl/Python/LISP/C/.NET/Ruby/BF etc
use warnings;use strict;use brain;