Wolfgang Thaller wrote:
[...] 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

Reply via email to