On Thu, Jul 7, 2011 at 12:41 AM, Simon Marlow <marlo...@gmail.com> wrote: > On 06/07/2011 21:19, Jason Dagit wrote: >> >> On Wed, Jul 6, 2011 at 12:52 PM, Simon Marlow<marlo...@gmail.com> wrote: >>> >>> On 06/07/11 17:14, David Barbour wrote: >>>> >>>> >>>> On Wed, Jul 6, 2011 at 8:09 AM, Simon Marlow<marlo...@gmail.com >>>> <mailto:marlo...@gmail.com>> wrote: >>>> >>>> On 06/07/2011 15:42, Jason Dagit wrote: >>>> >>>> How can I make sure my library works from GHC (with arbitrary >>>> >>>> user threads) and from GHCI? >>>> >>>> Right, but usually the way this is implemented is with some >>>> cooperation from the main thread. [...] So you can't just do this >>>> from a library - the main thread has to be in on the game. I suppose >>>> you might wonder whether the GHC RTS could implement runInMainThread >>>> by preempting the main thread and running some different code on it. >>>> [...] >>>> >>>> >>>> I think the real issue is that GHC has a different behavior than GHCi, >>>> and I think this causes a lot of difficulties for people working on GUI >>>> and other FFI integration. >>>> >>>> Perhaps it would be possible to reverse the default roles of threads in >>>> GHCi: the main thread run user commands, and a second bound thread will >>>> process user interrupts and such. >>> >>> Well, GHCi has no main, so it doesn't seem surprising (to me) that it's >>> different. >>> >>> However, if -fno-ghci-sandbox doesn't have any drawbacks we could just >>> make >>> it the default. I don't actually remember why we run each statement in a >>> new thread, I think it just seemed like a prudent thing to do. >> >> +1 for this change. I'm not sure how we would know if there are >> drawbacks. > > Now that I think about it, the original reason may have been that if the > computation grows a large stack, having it in a separate thread means GHCi > can recover the memory. However we have been able to recover stack memory > for some time now, so that is no longer an issue.
Then by all means, please make -fno-ghci-sandbox the default! :) Thanks Jason _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe