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