śĪUƒNī'      !"#$%&  Safe-Inferred!" Safe-Inferred23468'()'() Safe-Inferred241Class describing parseable values. Much like the * class.%Given a sequence of strings, returns +L and the number of strings consumed if the parse failed. Otherwise, return ,š the parsed value and the number of strings consumed. Element-wise, an entire string must be parsed in the sequence to be considered a successful parse.->Greedily parses a single argument or no argument. Never fails.. Parses a / using its * instance.0Identity parser.1 Parses an 2 using its * instance.3 Parses an 4 using its 5 instance.6 Parses a 7 using its 5 instance. 89-.0136 89-.0136 Safe-Inferred2468 :;<=   :;<= Safe-Inferred+ A simple wrapper over [a]*. Used to avoid overlapping instances for  Parseable [a] and Parseable String>1Greedily parses arguments item-wise. Never fails. ?>    ?> Safe-Inferred+24  Convenience  creation class.An option keyword, such as "--help"!All the aliases for this keyword.CText to describe the arguments to the option given by this keyword.BText to describe the function of the option given by this keyword.Shorthand for . Sets the 1 field in the keyword. Intended to be used infix: =kw "--directory" `argText` "DIR" `text` "Write files to DIR." Sets the 1 field in the keyword. Intended to be used infix. /kw "--quiet" `text` "Suppress message display."@Used to create a  with many (or no) aliasesAUsed to create a  with a single alias.BIdentiy mapping. @ABC    @ABCNoneB"User configuration for formatting.6Formats the given string with the given configuration.8Formats the given keywords with the given configuration. !FormatConfig { fmtMaxWidth = 80 }DEFGHIJKLMNOPQRSTUVWXDEFGHIJKLMNOPQRSTUVWXNone&+B `When used as a callback argument, this contains the help description given by the added options.Example: QaddOption (kw ["--help", "-h"]) $ \(HelpDescription desc) -> do putStrLn descPContains information about what went wrong during an unsuccessful options parse.  Contains (error-message) (begin-args-index) (end-args-index)!A monad for parsing options."Describes the callback f/ to be called for a successfully parsed option.The function (or value) f= can have any arity and ultimately returns a value with type Monad m => m a2Each of the callback's arguments must have a type t which implements  and Y.2Think of this as the following constraint synonym: ftype OptionCallback m a f = (Monad m, f ~ (Parseable t*, Typeable t*) => t0 -> t1 -> ... -> tN -> m a)Example callbacks: šf0 = putStrLn "Option parsed!" :: IO () f1 = put :: String -> State String () f2 n = liftIO (print n) :: (MonadIO m) => Int -> m () f3 name year ratio = lift (print (name, year, ratio)) :: (MonadTrans m) => String -> Int -> Float -> m IO ()#uTries to parse the supplied options against input arguments. If successful, parsed option callbacks are returned in Z. Otherwise an  is returned in [.Example program: ’üimport System.Environment import Text.LambdaOptions options :: Options IO () () options = do addOption (kw ["--help", "-h"] `text` "Display this help text.") $ \(HelpDescription desc) -> do putStrLn "Usage:" putStrLn desc addOption (kw "--user" `argText` "NAME" `text` "Prints name.") $ \name -> do putStrLn $ "Name:" ++ name addOption (kw "--user" `argText` "NAME AGE" `text` "Prints name and age.") $ \name age -> do putStrLn $ "Name:" ++ name ++ " Age:" ++ show (age :: Int) main :: IO () main = do args <- getArgs case runOptions options args of Left (ParseFailed msg _ _) -> do putStrLn msg putStrLn $ getHelpDescription options Right actions -> sequence_ actions&example.exe --user John 20 --user JaneName:John Age:20 Name:Janeexample.exe -hUsage:3-h, --help Display this help text.( --user NAME Prints name.0 --user NAME AGE Prints name and age.(example.exe --user BadLuckBrian thirteen%Unknown option at index 2: `thirteen'Usage:3-h, --help Display this help text.( --user NAME Prints name.0 --user NAME AGE Prints name and age.$ Adds the supplied option to the Options m a () context.“If the keyword is matched and the types of the callback's parameters can successfully be parsed, the callback is called with the parsed arguments.%9Produces the help description given by the input options.& Produces the "s inserted into the input options.\EConsumes nothing. Returns the options' help description. Never fails./ ]^_`abcde!fghijkl"mnop#qrs$tuvwxyz{|}~€%&\  !"#$%& #! "$%& ]^_`abcde!fghijkl"mnop#qrs$tuvwxyz{|}~€%&\ None  !"#$%&      !"##$%&'()*+,-./01/23/2456789:;<=>?78@ABCD78EFGHIJKL,MNOPQRRSTUVWXYZ[\]^_`abcd/ef/gh/gijkklmnopqr&sttuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œlambda-options-0.8.0.0"Text.LambdaOptions.Internal.Opaque Text.LambdaOptions.Internal.WrapText.LambdaOptions.Parseable(Text.LambdaOptions.Internal.OpaqueParserText.LambdaOptions.ListText.LambdaOptions.KeywordText.LambdaOptions.FormatterText.LambdaOptions.CoreText.LambdaOptionsOpaqueCallbackOpaqueWrapwrap ParseableparseGetOpaqueParsersgetOpaqueParsers OpaqueParserListunList ToKeyword toKeywordKeywordkwNames kwArgTextkwTextkwargTexttext FormatConfig fmtMaxWidthformatformatKeywordsdefaultFormatConfigHelpDescription OptionsError ParseFailedOptionsOptionCallback runOptions addOptiongetHelpDescription getKeywords internalError $fWrapm(->)$fWrapmmbaseGHC.ReadRead Data.MaybeNothingJust$fParseableMaybe$fParseableFloatghc-prim GHC.TypesFloat $fParseable[]$fParseableInteger integer-gmpGHC.Integer.TypeInteger$fParseableIntIntread-bounded-0.1.1.0Text.Read.Bounded ReadBounded$fParseableWordWord simpleParse parseBoundeddecomposeFuncProxy parseOpaque$fGetOpaqueParsersrm$fGetOpaqueParsersr(->)$fParseableList $fToKeyword[]$fToKeyword[]0$fToKeywordKeyword$fIsStringKeyword FormatterFormatterState fmtConfigfmtEmittedCharsfmtWordfmtWidthfmtIndentation runFormatter formatKeywordisShortformatKeywordNamesformatKeywordArgTextformatKeywordText flushWordchangeIndentationindentnewLine emitSpaceemitChar emitStringData.Typeable.InternalTypeable Data.EitherRightLeft$fParseableHelpDescription OptionsStatestateOpaqueParsersstateOptionsByAritystateCollectedActions stateCurrMark stateHighMark stateArgsstateFormatConfig unOptions OptionInfo optionKeywordoptionTypeRepsoptionOpaqueCallbackgetProxyinternalizeKeyword mkParseFailedmkParseFailed'runOptionsInternal runOptions' addByArityfirstMwhileM tryParseAlltryParsetryParseByAritytryParseByOptionstryParseByOptionhandleSpecialOpaque matchKeyword matchKeyword'sequenceParserscollectKeywordscreateHelpDescription