A Haskell editing mode