Experience Report: Haskell in Computational Biology

Andrew Gallant and Noah Daniels and Norman Ramsey

(An Experience Report provides evidence that functional programming really works, or it describes obstacles that prevent) functional programming from working.)


Haskell gives computational biologists the flexibility and rapid prototyping of a scripting language, plus the performance of native code. In our experience, higher-order functions, lazy evaluation, and monads really worked, but profiling and debugging presented obstacles. Also, Haskell libraries vary greatly: memoization combinators and parallel-evaluation strategies helped us a lot, but other, nameless libraries mostly got in our way. Despite the obstacles and the uncertain quality of some libraries, Haskell's ecosystem made it easy for us to develop new algorithms in computational biology.

Full paper

The paper is available as US Letter PDF (446K).