Actually I now think that not only are top level TWIs okay, I can get extra contexts by rewriting the MVar module. Here I can create a TWI in the new MVar module called context, and all mvar writes and reads would be parameterised by context. In this way I can change the context then call oneShot and get it to run a second (or as many times as I like)...
So that gets round my last remaining objection to top level MVars. This also shows that top level TWIs and the Execution contexts are effectively the same thing... but I guess TWIs have a nicer syntax... Keean. _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe