This is a lightweight package built on top of the async package providing easy to use periodic timers. This can be used for executing IO actions periodically.
main::IO()
main =dolet conf = defaultConf & setInitDelay 500-- 500 ms& setInterval 1000-- 1 s
withAsyncTimer conf $\ timer ->do
forM_ [1..10] $\_ ->do
wait timer
putStrLn"Tick"