úÎKµE¼     None!"+246BPContains information about what went wrong during an unsuccessful options parse. Contains (error-message) (begin-args-index) (end-args-index)(A monad transformer for parsing options. 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. 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 ()2Each of the callback's arguments must have a type t which implements   and .2Think of this as the following constraint synonym: etype OptionCallback m f = (Monad m, f ~ (Parseable t*, Typeable t*) => t0 -> t1 -> ... -> tN -> m ())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 () 1Class 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. `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 descA simple wrapper over [a]*. Used to avoid overlapping instances for  Parseable [a] and Parseable StringShorthand 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."uTries to parse the supplied options against input arguments. If successful, parsed option callbacks are returned in . 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 result <- runOptions options args case result of Left (ParseFailed msg _ _) -> do putStrLn msg desc <- getHelpDescription options putStrLn desc Right action -> action&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 () 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.Used to create a  with many (or no) aliasesUsed to create a  with a single alias.Identiy mapping. EConsumes nothing. Returns the options' help description. Never fails.!1Greedily parses arguments item-wise. Never fails.">Greedily parses a single argument or no argument. Never fails.# Parses a $ using its  instance.%Identity parser.& Parses an ' using its  instance.m()*+,-./0123456789:;<=>?@A BCDEFGHI JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst !"#%&    L()*+,-./0123456789:;<=>?@A BCDEFGHI  JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst !"#%&u      !"#$%&'()*+,()-.//012345567789:;<=>??@ABCDEFGHIIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstulambda-options-0.4.0.2Text.LambdaOptions OptionsError ParseFailedOptions ToKeyword toKeywordKeywordkwNames kwArgTextkwTextOptionCallback ParseableparseHelpDescriptionListkwargTexttext runOptions addOptiongetHelpDescriptionbaseData.Typeable.InternalTypeableGHC.ReadRead Data.MaybeNothingJust Data.EitherRightLeft $fToKeyword[]$fToKeyword[]0$fToKeywordKeyword$fParseableHelpDescription$fParseableList$fParseableMaybe$fParseableFloatghc-prim GHC.TypesFloat $fParseable[]$fParseableIntInt FormatterFormatterState fmtConfigfmtEmittedCharsfmtWordfmtWidthfmtIndentationFormattingConfig fmtMaxWidth OptionsStatestateOpaqueParsersstateOptionsByAritystateCollectedActions stateCurrMark stateHighMark stateArgs unOptions OptionInfo optionKeywordoptionTypeRepsoptionOpaqueCallback WrapCallbackwrapGetOpaqueParsersgetOpaqueParsers OpaqueParserOpaqueCallbackOpaque internalErrorgetProxydecomposeFuncProxy simpleParse parseOpaqueinternalizeKeyword mkParseFailedmkParseFailed'runOptionsInternal runOptions' addByArityfirstMwhileM tryParseAlltryParsetryParseByAritytryParseByOptionstryParseByOptionhandleSpecialOpaque matchKeyword matchKeyword'sequenceParserscollectKeywordscreateHelpDescription runFormatter formatKeywordisShortformatKeywordNamesformatKeywordArgTextformatKeywordText flushWordchangeIndentationindentnewLine emitSpaceemitChar emitString$fMonadTransOptions$fIsStringKeyword$fWrapCallbackm(->)$fWrapCallbackmm$fGetOpaqueParsersm$fGetOpaqueParsers(->)