
5 Mar
2010
5 Mar
'10
12:03 a.m.
Simon Marlow wrote:
So it would be pretty easy to provide something like
disableMajorGC, enableMajorGC :: IO ()
Of course leaving it disabled too long could be bad, but that's your responsibility.
It seems like it'd be preferable to have an interface like: withMajorGCDisabled :: IO() -> IO() or (for some definition of K): withMajorGCDisabled :: (K -> IO()) -> IO() in order to ensure that it always gets turned back on eventually. Of course, the latter can be created from the former pair. It's just that the former reminds me a bit much of explicit memory management and how difficult it is to balance the free()s... -- Live well, ~wren