
Hello Lennart, Sunday, September 23, 2007, 2:05:46 PM, you wrote: i bet that general case contains too much conditions to check. program may be unblocked by other thread, by OS signal, by I/O operation completion, by C thread. how for example RTS can check that we have started I/O operation with completion callback which will call abort() function?
I agree. This situation is totally detectable.
On 9/23/07, Neil Mitchell
wrote: Hi
I'm not sure, but since it would require the detection of an evaluation that does not terminate, it comes down to the halting problem, which is not generally solvable. Maybe the experts can confirm my intuition?
I think your intuition is off. This isn't the problem of detecting that a computation might not halt, its a question of detecting after the fact a very restricted case of non-termination has occurred. I think it should be possible to assign threads etc to these things, but may make the code run slower in the common case.
Thanks
Neil _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com