#!/usr/bin/env stack
> --stack --install-ghc runghc

Unified interface for displaying the remaining time on the screen.

> module ConsoleDisplay (display) where
>
> import Control.Concurrent  (threadDelay)
>
> display :: String -> IO ()
> display :: String -> IO ()
display String
s = String -> IO ()
putStr forall a b. (a -> b) -> a -> b
$ String
"\r" forall a. [a] -> [a] -> [a]
++ String
s
>
> waitASecond :: IO()
> waitASecond :: IO ()
waitASecond = Int -> IO ()
threadDelay forall a b. (a -> b) -> a -> b
$ Int
10forall a b. (Num a, Integral b) => a -> b -> a
^Integer
6

> main :: IO ()
> main :: IO ()
main = do
>     String -> IO ()
display String
"00:01" forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> IO ()
waitASecond forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> String -> IO ()
display String
"00:00"