19 lines
439 B
Haskell
19 lines
439 B
Haskell
|
|
module Main where
|
||
|
|
|
||
|
|
import qualified Data.ByteString.Char8 as ByteString
|
||
|
|
import MiniJson.Greeting (greetFromJson)
|
||
|
|
import System.Environment (getArgs)
|
||
|
|
import System.Exit (die)
|
||
|
|
|
||
|
|
main :: IO ()
|
||
|
|
main = do
|
||
|
|
args <- getArgs
|
||
|
|
let input =
|
||
|
|
case args of
|
||
|
|
[] -> "{\"name\":\"learner\"}"
|
||
|
|
firstArg : _ -> firstArg
|
||
|
|
|
||
|
|
case greetFromJson (ByteString.pack input) of
|
||
|
|
Left err -> die err
|
||
|
|
Right message -> putStrLn message
|