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