A word processor in Haskell