Haskell code can be both compiled (for example with ghc), or interpreted (with ghci).
Until now, org babel had only support for interpretation.
Haskell is weird in that some code for the interpreter cannot be compiled and viceversa.
In this patch I add support for compilation with the header argument :compile yes.
The function to compile haskell is almost a copy paste of the C funcion in ob-C.el.
By default I retain the original behavior, i.e. interpreting the block.
I have tested this patch in emacs-27.0.91.
It is my first patch to GNU Emacs and I am a newbie with both elisp and haskell.