2008/12/27 Conal Elliott <conal@conal.net>
Luke Palmer has some encouraging early results with a custom scheduler that implements unamb. I don't know how it deals with termination of redundant computation and whether it falls afoul of the problems I'm having with the various race implementations floating around. I also don't know how much of the problem that Luke is solving comes simply from the failure of my race implementation to kill threads recursively.
Getting recursive killing right is the thing unamb-custom is trying to solve. I haven't looked at it since some strange bugs arose in the compiled version, but I fear that the black hole problem you just posted applies. Since it is still at its essence forkIO and killThread, I'm not sure how to get around it.
I would really like a more customizable scheduler. I think this is the part where I either dive into ghc guts or abandon topology-extras :-(
Luke