Add Haskell version

Add a Haskell version of the benchmark.

Note: it makes use of a pure Map data structure.