module CodeMushu.Thread where import Prelude () import MPS.Env hiding (log) import MPS.Extra import Control.Concurrent sync_lock :: MVar () sync_lock = purify - newMVar () jailed :: IO a -> IO a jailed io = do withMVar sync_lock (const io) log :: String -> IO () log x = jailed - putStrLn x