Simon Marlow wrote:
Judah Jacobson wrote:
Once small thing I've noticed: UserInterrupt (ctr-c) exceptions are
not thrown in ghci, probably because it installs its own signal
handlers:
Prelude Control.Exception Control.Concurrent> handle (\UserInterrupt
-> putStrLn "Caught!") (threadDelay 2000000)
^CInterrupted.
For consistency between the compiled and interpreted environments, it
would be nice if the above could catch the ctrl-c. But maybe there's
a reason not to do this? If this change sounds OK, I can take a look
at this and try to put together a patch over the weekend.
Hmm, tricky one. I agree with the argument for consistency, but on the
other hand you might also want a way to interrupt a computation
regardless, and that almost works - as long as the program isn't
discarding exceptions it knows nothing about.
In my mind this is, at least thematically, related to
http://hackage.haskell.org/trac/ghc/ticket/1399
that is, it relates to the various ways that running in ghci is
different from running independently.
To get a really good answer I think we need a couple of RTS
enhancements, the ability to have a kind 'supervisor' mode etc...
Jules
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users