Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- params :: Text -> Params a -> IO a
- data Params a
- param :: Maybe Char -> Text -> Param a -> Params a
- data Param a
- value :: Text -> Default a -> ValueFormat a -> Value a -> Param a
- flag :: Text -> Param ()
- switch :: Text -> Param Bool
- data Value a
- explicitlyParsed :: Parser a -> Value a
- implicitlyParsed :: LenientParser a => Value a
- data Default a
- explicitlyRepresented :: a -> Text -> Default a
- showable :: Show a => a -> Default a
- defaultless :: Default a
- data ValueFormat a
- formattedByEnum :: (Bounded a, Enum a, Show a) => ValueFormat a
- unformatted :: ValueFormat a
IO
Execute the parameters parser in IO, throwing an exception if anything goes wrong.
Params
Parameters product parser. Should be used for composition of all application parameters.
Lift a single parameter parser.
Param
Parameter parser.
Includes the description of the parameter.
:: Text | Description. Can be empty |
-> Default a | Default value |
-> ValueFormat a | Value format |
-> Value a | |
-> Param a |
Create a single parameter parser from a value parser and meta information.
A parameter with no value. Fails if it's not present. Thus it can be composed using Alternative.
A parameter with no value, the presence of which is interpreted as True
.
Value
Parameter value parser.
explicitlyParsed :: Parser a -> Value a Source #
Lift an Attoparsec parser into value parser.
implicitlyParsed :: LenientParser a => Value a Source #
Lift an implicit lenient Attoparsec parser into value parser.
Default
Default value with its textual representation.
explicitlyRepresented :: a -> Text -> Default a Source #
Provide a default value with explicit textual representation.
showable :: Show a => a -> Default a Source #
Provide a default value with textual representation formed using the implicit Show instance.
defaultless :: Default a Source #
Provide no default value.
ValueFormat
data ValueFormat a Source #
Parameter description.
Instances
Functor ValueFormat Source # | |
Defined in Optima fmap :: (a -> b) -> ValueFormat a -> ValueFormat b # (<$) :: a -> ValueFormat b -> ValueFormat a # |
formattedByEnum :: (Bounded a, Enum a, Show a) => ValueFormat a Source #
Derive value format specification from the Enum instance.
unformatted :: ValueFormat a Source #
Avoid specifying the format.