A Haskell implementation of the Earley parsing algorithm