optparse-declarative-0.3.0: example/simple.hs
{-# LANGUAGE DataKinds #-}
import Control.Monad.Trans
import Options.Declarative
greet :: Flag "g" '["greet"] "STRING" "greeting message" (Def "Hello" String)
-> Arg "NAME" String
-> Cmd "Simple greeting example" ()
greet msg name =
liftIO $ putStrLn $ get msg ++ ", " ++ get name ++ "!"
main :: IO ()
main = run_ greet