I guess that after doing run-length encoding, the next logical step was Huffman encoding. Find my project at BartForge. It encodes and decodes about 2M symbols per second on my fast box.
I'm slowly learning how to optimize Haskell. Bleah. (B)