This really shouldn't be so difficult to find an answer to, but alas I don't... I want to delay the next execution step in a do
block. I have found the functions
delay
,
sleep
,
nanosleep
and
usleep
.
And also this question, that doesn't cover how to use any of these, however: Sleep in Haskell.
I am getting the same error for all of these, so probably I am doing something wrong fundamentally:
Variable not in scope: delay :: Integer -> IO a0
This is my test snippet:
main = do
{
putStrLn "line 1"
; delay 2
; putStrLn "line 2"
}
Googling the error does not actually yield anything useful for some reason.
Well, you have to import Control.Concurrent
first:
import Control.Concurrent
threadDelay 1000000 --sleep for a million microseconds, or one second
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With