[...] About making it optional:
The Threaded RTS itself is and will remain binary compatible with the traditional RTS; however, there will be a few library functions, (forkOS, isCurrentThreadBound and runInBoundThread), which just don't work (and don't make sense) in the non-threaded case. So we'd need to have two versions of libHSbase.a as well.
I think we should try to avoid this at all costs: It is a huge beast and with profiling we would have four versions! 8-O
I could also make those library functions check for the presence of the threaded RTS at runtime,
I would recommend a more "object oriented" approach without checks here: Simply call the RTS functions in question and let the non-threaded ones be stubs or return an error code or abort or ...
so all that would be necessary for switching the threaded RTS on/off would be to use a different libHSrts.a.
That's the way to go IMHO.
Cheers, S.
_______________________________________________ Cvs-ghc mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/cvs-ghc
