import Control.Concurrent.Bag.Basic import Control.Concurrent.STM (TChan) import Fib main :: IO () main = do bag <- newBag_ (Just takeFirst) :: IO (Bag TChan Int) sequence_ $ replicate 1000000 (addEval bag $ fib 30) getResult bag >>= putStrLn . show