I switched from manually installing haskell-mode to installing it through the "package" interface. This caused an error because the remove-if-not function is void. In haskell-session.el you make use of the remove-if-not function. See:
This function is only available when you require common lisp somewhere, usually at the package level, like so:
I didn't create a pull request, because it could well be that I'm wrong. But I couldn't run haskell-mode without it.
Also see the following: The Emacs CL Controversy
@wunki Yep, the eval-when-compile is causing the problem. Since remove-if-not is used in the runtime cl should simply the required.
fixed #81 - just require cl since it's used at runtime