Using raw flymake in haskell-mode, without additional functionality enabled (e.g. ghc-mod), flymake-init uses haskell-saved-check-command, which defaults to nil leaving flymake broken. It appears to pre-suppose that the use has already run haskell-check which will set haskell-saved-check-command. But if flymake mode is enabled by default then it will immediately run on finding the file and fail henceforth.
haskell-mode version 20141127.28 from melpa
emacs 24.4.1 on debian testing.