This is a Haskell implementation of the fasta benchmark from the Computer Language Benchmark Game.
I've structured the repository's commits so you can see various performance experiments.
The Haskell code that I originally started with was written by Branimir Maksimovic. His program was an almost direct port of his C++ implementation, but was much slower.
I very quickly improved his code, and hit the limit of what was achievable with that approach.
My subsequent rewrite bears just about no resemblance to his original code.