
Hi all I am trying to build a GUI for GHCi using "GHC as a library". See http://haskell.org/haskellwiki/GHC/As_a_library . One requirement is that the GUI is still responsive when executing code using GHC.runStmt. Therefore I do: forkIO $ GHC.runStmt someStatement >> return() While this works fine, it does give me one problem. How do I terminate a call to runStmt prematurely? One would think that this would work: threadId <-forkIO $ GHC.runStmt someStatement >> return() ... killThread threadId However, as runStmt also uses forkIO internally I am not killing the thread that runs "someStatement" - actually nothing seems to happen when executing the action "killThread threadId". Anybody knows how to kill the thread running "someStatement"? I have attached a more complete program which illustrates the problem described above. I have only tested the program on Debian/Linux. Greetings, Mads Lindstrøm