
Hello Jason, Thursday, August 6, 2009, 11:38:08 AM, you wrote:
One solution to the GC synchronisation problem would be to implement a concurrent garbage collector. Typically, however, concurrent GC adds some overhead to the mutator, since it must synchronise with the collector.some thunks are never “black-holed”, so giving a potential performance win. Unfortunately, in the parallel setting, it substantially enlarges the time window in which two or more duplicate threads might evaluate the same think, and thus
i'm not an expert, but: lazy haskell value is some expression to comupte. when this value started to evaluate, it's replaced by "black hole" - special value. attempt to compute black-holed value (in the same thread) means that we have cyclic computation dependency - exception triggered. once value of thunk is evaluated, it's written back by code called mutator -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com