added haskell mode and flycheck mode to use with haskell