freer-0.2.4.0: examples/src/Main.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
module Main where
import Control.Monad.Freer
import Teletype
runner :: (Member Teletype r) => Eff r ()
runner = do
x <- getLine'
_ <- getLine'
putStrLn' x
z <- getLine'
putStrLn' z
putStrLn' x
putStrLn' x
main :: IO ()
main = do
let xs = runTeletypePure ["cat", "fish", "dog", "bird"] runner
print xs
runTeletype runner