{-# LANGUAGE PackageImports #-}
module Main where
import "base" Control.Concurrent ( threadDelay )
import "base" Control.Monad ( forM_ )
import "terminal-progress-bar" System.ProgressBar
( progressBar, percentage, exact, startProgress, incProgress )
main :: IO ()
main = do
example 60 (13 + 60) 25000
example' 60 (13 + 60) 25000
example :: Integer -> Integer -> Int -> IO ()
example t w delay = do
forM_ [1..t] $ \d -> do
progressBar percentage exact w d t
threadDelay delay
putStrLn ""
example' :: Integer -> Integer -> Int -> IO ()
example' t w delay = do
(pr, _) <- startProgress percentage exact w t
forM_ [1..t] $ \_d -> do
incProgress pr 1
threadDelay delay
putStrLn ""