22 lines
470 B
Haskell
22 lines
470 B
Haskell
|
|
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"
|