У меня есть серия сетевых запросов, каждый из которых занимает> 10 секунд.
Чтобы пользователь знал, что происходит, я даю обновления:
main = do putStr "Downloading the first thing... "
{- Net request -}
putStrLn "DONE"
putStr "Downloading the second thing... "
{- Net request -}
putStrLn "DONE"
С GHCi это работает должным образом, но скомпилированный или с помощью runghc, «Downloading» не печатает, пока «DONE» не сделает.
Я переписал его с помощью (>> =) и (>>), но у меня возникла та же проблема.
Что происходит?