Skip to content
sequential.hs 420 B
Newer Older
Yuanle Song's avatar
Yuanle Song committed
import Control.Monad
import Control.Concurrent.MVar
import Text.Printf

incrementAndPrint :: MVar Integer -> IO ()
incrementAndPrint counter = do
  newCount <- modifyMVar counter (\i -> return (i + 1, i + 1))
  printf "The count is %d\n" newCount
  putStrLn "---------------"

main :: IO ()
main = do
  putStrLn "Starting up"
  counter <- newMVar 0
  replicateM_ 10 (incrementAndPrint counter)
  putStrLn "Finishing up"