streamly/examples/echo-loop.hs
2017-08-28 08:05:49 +05:30

19 lines
396 B
Haskell

import Control.Monad.IO.Class (liftIO)
import Data.Monoid ((<>))
import Asyncly (AsyncT, runAsyncly)
input :: AsyncT IO String
input = do
string <- liftIO getLine
return string <> input
output :: AsyncT IO String -> AsyncT IO ()
output strings = do
s <- strings
liftIO $ putStrLn s
main = do
putStrLn "Type something and press enter, repeat"
runAsyncly $ output input