import Control.Concurrent.Bag.Basic import Control.Concurrent.STM (TChan) import Fib main :: IO () main = do bag <- newBag_ Nothing :: IO (Bag TChan Int) addEval bag $ fib 42 addEval bag $ fib 43 noMoreTasks bag getResult bag >>= putStrLn . show getResult bag >>= putStrLn . show getResult bag >>= putStrLn . show