Я попробовал следующий подход:
import System.Exit
import System.Posix.Signals
import Control.Concurrent (threadDelay)
main :: IO ()
main = do
installHandler keyboardSignal (Catch (do exitSuccess)) Nothing
threadDelay (1000000000)
Но он выводит только:
^CTest.hs: ExitSuccess
on Ctrl-C
, вместо выхода. Как я должен делать это правильно?