Я пробовал это:
main = do
hSetBuffering stdin NoBuffering
c <- getChar
но он ждет, пока не будет нажата кнопка ввода, чего я не хочу. Я хочу прочитать символ сразу после нажатия на него пользователя.
Я использую ghc v6.12.1 в Windows 7.
EDIT: обходной путь для меня переместился с GHC на WinHugs, который поддерживает это правильно.