The program compiles and runs without any problems. But there is
absolutely no output, when f.eg. i type "hello, world" and hit return.
Why would that be?
At a guess, your "split" is too strict and requires the entire input in order to do anything, so you'd need control-D on Unix or control-Z on Windows to mark the end of the input stream.
You might prefer to use the functions from the "split" package on Hackage (cabal install split) which are appropriately lazy.
--