polysemy-readline-0.2.0.0: examples/Echo.hs
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
module Main where
import Polysemy
import Polysemy.Readline
repl :: Member Readline r => Sem r ()
repl = do
mline <- getInputLine "> "
case mline of
Nothing -> pure ()
Just line -> outputStrLn line >> repl
main :: IO ()
main =
runInputT defaultSettings
. runFinal
. embedToFinal
. interpretReadlineAsInputT
$ repl