on master help sign in
update acidrain example in tutorial
8a4305cHarendra Kumar
src/Streamly/Tutorial.hs+5−6
@@ -1454,16 +1454,15 @@ import Control.Monad.Trans.Class (MonadTrans (lift))
1454-- {-\# LANGUAGE FlexibleContexts #-}
1454-- {-\# LANGUAGE FlexibleContexts #-}
1455--
1455--
1456-- import "Streamly"
1456-- import "Streamly"
1457−-- import Control.Concurrent (threadDelay)
1457+-- import Streamly.Prelude as S
1458-- import Control.Monad (when)
1458-- import Control.Monad (when)
1459-- import Control.Monad.IO.Class (MonadIO(..))
1459-- import Control.Monad.IO.Class (MonadIO(..))
1460-- import Control.Monad.State (MonadState, get, modify, runStateT)
1460-- import Control.Monad.State (MonadState, get, modify, runStateT)
1461−-- import Data.Semigroup (cycle1)
1462--
1461--
1463-- data Event = Harm Int | Heal Int | Quit deriving (Show)
1462-- data Event = Harm Int | Heal Int | Quit deriving (Show)
1464--
1463--
1465−-- userAction :: MonadIO m => 'SerialT' m Event
1464+-- userAction :: MonadAsync m => 'SerialT' m Event
1466−-- userAction = cycle1 $ liftIO askUser
1465+-- userAction = S.repeatM $ liftIO askUser
1467-- where
1466-- where
1468-- askUser = do
1467-- askUser = do
1469-- command <- getLine
1468-- command <- getLine
@@ -1472,8 +1471,8 @@ import Control.Monad.Trans.Class (MonadTrans (lift))
1472-- "quit" -> return Quit
1471-- "quit" -> return Quit
1473-- _ -> putStrLn "What?" >> askUser
1472-- _ -> putStrLn "What?" >> askUser
1474--
1473--
1475−-- acidRain :: MonadIO m => 'SerialT' m Event
1474+-- acidRain :: MonadAsync m => SerialT m Event
1476−-- acidRain = cycle1 $ liftIO (threadDelay 1000000) >> return (Harm 1)
1475+-- acidRain = asyncly $ constRate 1 $ S.repeatM $ liftIO $ return $ Harm 1
1477--
1476--
1478-- game :: ('MonadAsync' m, MonadState Int m) => 'SerialT' m ()
1477-- game :: ('MonadAsync' m, MonadState Int m) => 'SerialT' m ()
1479-- game = do
1478-- game = do