module Main where import MiniEffects.App ( AppError (EmptyName, NameTooLong) , Env (Env) , runGreetingApp ) import System.Exit (die) main :: IO () main = case ( runGreetingApp (Env "hi" 8) "haskell" , runGreetingApp (Env "hi" 8) " " , runGreetingApp (Env "hi" 4) "reader" ) of ( Right "hi, haskell" , Left EmptyName , Left (NameTooLong 4) ) -> putStrLn "test passed" _ -> die "unexpected application stack result"