@@ -1,13 +1,13 @@
1−import Control.Applicative ((<|>))
1+import Control.Applicative ((<|>), empty)
22import Control.Concurrent (myThreadId, threadDelay)
33import Control.Monad.IO.Class (liftIO)
44import System.IO (stdout, hSetBuffering, BufferMode(LineBuffering))
55import System.Random (randomIO)
66import Asyncly
77
8−main = wait_ $ do
8+main = runAsyncly $ do
99 liftIO $ hSetBuffering stdout LineBuffering
10− x <- loop "A" <|> loop "B"
10+ x <- loop "A" <|> loop "B" <|> empty
1111 liftIO $ myThreadId >>= putStr . show
1212 >> putStr " "
1313 >> print x
@@ -17,4 +17,4 @@ main = wait_ $ do
1717 loop name = do
1818 liftIO $ threadDelay 1000000
1919 rnd <- liftIO (randomIO :: IO Int)
20− return (name, rnd) <|> loop name
20+ return (name, rnd) <|> loop name <|> empty