úÎ!›č“‚u      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstSafe&'KuvwSafe ,=>?@AHVX_öxySafe2=?( lambda-options Convenience  creation class.lambda-optionsAn option keyword, such as "--help"lambda-options!All the aliases for this keyword.lambda-optionsCText to describe the arguments to the option given by this keyword.lambda-optionsBText to describe the function of the option given by this keyword.lambda-optionsShorthand for .lambda-options Sets the 1 field in the keyword. Intended to be used infix: =kw "--directory" `argText` "DIR" `text` "Write files to DIR." lambda-options Sets the 1 field in the keyword. Intended to be used infix. /kw "--quiet" `text` "Suppress message display." lambda-optionsUsed to create an empty  with no aliases. lambda-optionsUsed to create a  with many (or no) aliases lambda-optionsUsed to create a  with a single alias.lambda-optionsIdentiy mapping.   Safe_‚lambda-options"User configuration for formatting.lambda-options6Formats the given string with the given configuration.lambda-options8Formats the given keywords with the given configuration.lambda-options !FormatConfig { fmtMaxWidth = 80 }Safe=>?X_F¨lambda-options1Class describing parseable values. Much like the z class.lambda-optionsGiven a sequence of strings,  returns {W and the number of strings (not characters) consumed if the parse failed. Otherwise,  returns |6 the parsed value and the number of strings consumed.cElement-wise, an entire string must be parsed in the sequence to be considered a successful parse.lambda-options?Turns a parser of a single string into a parser suitable for a  instance.Useful for implementing a  for a type with a z instance by supplying } to this function.Note: The string is not@ tokenized in any way before being passed into the input parser. lambda-optionsDeprecated: Use  instead.!lambda-options?Turns a parser of a single string into a parser suitable for a  instance.Useful for implementing a  for a type with a ~ instance by supplying } to this function.Note: The string is not@ tokenized in any way before being passed into the input parser."lambda-optionsRepeatedly applies 5 the given number of times, accumulating the results.$Useful for implementing new parsers.Example: É data Point = Point Float Float Float instance Parseable Point where parse args = case repeatedParse 3 args of (Just [x,y,z], n) -> (Just (Point x y z), n)` (Nothing, n) -> (Nothing, n) #lambda-options!Parses three values sequentially.$lambda-optionsParses two values sequentially.%lambda-options-Always succeeds and never consumes any input.&lambda-options Parses a % by matching its corresponding shown €.Ex: Ē parse ["0"] == (Just (Proxy :: SomeNat (Proxy 0)), 1) parse ["13"] == (Just (Proxy :: SomeNat (Proxy 13)), 1) parse ["00"] == Nothing parse ["0xFF"] == Nothing 'lambda-optionsOpaque identity parser for   .Ex: ™ parse [""] == (Just (SomeSymbol (Proxy :: Proxy "")), 1) parse ["foo"] == (Just (SomeSymbol (Proxy :: Proxy "foo")), 1) parse [] == (Nothing, 0) (lambda-options!Parses the exact string given by .Ex: š parse [""] == (Just (Proxy :: Proxy ""), 1) parse ["foo"] == (Just (Proxy :: Proxy "foo"), 1) parse ["foo"] == (Nothing :: Maybe (Proxy :: "bar"), 0) parse [] == (Nothing, 0) )lambda-options Parses a ‚% by matching its corresponding shown €.Ex: – parse ["0"] == (Just (Proxy :: Proxy 0), 1) parse ["13"] == (Just (Proxy :: Proxy 13), 1) parse ["00"] == Nothing parse ["0xFF"] == Nothing *lambda-options>Greedily parses a single argument or no argument. Never fails.+lambda-options Parses an ƒ using its z instance.,lambda-options Parses a „ using its z instance.-lambda-optionsIdentity parser. X parse [""] == (Just "", 1) parse ["foo"] == (Just "foo", 1) parse [] == (Nothing, 0) .lambda-options!Parses a single character string./lambda-options Parses an … using its z instance.0lambda-options Parses an † using its ~ instance.1lambda-options Parses a ‡ using its ~ instance. !"!" Safe2K 2lambda-optionsA simple wrapper over [a]+. Used to avoid overlapping instances for  Parseable [a] and Parseable String.5lambda-options1Greedily parses arguments item-wise. Never fails. Example: 3parse (words "5 67 NaN") == (Just (List [5,67]), 2)234234 Safe ,=>?@AHVXKšˆ‰ŠSafe,2>@AX_wY;lambda-optionsPContains information about what went wrong during an unsuccessful options parse.Alambda-optionsA monad for parsing options.Blambda-optionsDescribes 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 r2Each of the callback's arguments must have a type t which implements   and  .2Think of this as the following constraint synonym: Ytype OptionCallback r f = (f ~ (Parseable t*, Typeable t*) => t0 -> t1 -> ... -> tN -> r)Example callbacks: ˙%f0 = putStrLn "Option parsed!" :: IO () f1 = put :: String -> State String () f2 = liftIO . print :: (MonadIO m) => Int -> m () f3 name year ratio = lift (print (name, year, ratio)) :: (MonadTrans m) => String -> Int -> Float -> m IO () f4 = 7 :: Int f5 = (:) :: Double -> [Double] -> [Double]Clambda-optionsPretty prints an ;.Dlambda-options|Tries to parse the supplied options against input arguments. If successful, parsed option callback results are returned in ‹. Otherwise an ; is returned in Œ.Example program: ˙Cimport qualified System.Environment as IO import qualified Text.LambdaOptions as L options :: L.Options (IO ()) () options = do L.addOption (L.kw ["--help", "-h"] `L.text` "Display this help text.") $ do putStrLn "Usage:" putStrLn $ L.getHelpDescription options L.addOption (L.kw "--user" `L.argText` "NAME" `L.text` "Prints name.") $ \name -> do putStrLn $ "Name:" ++ name L.addOption (L.kw "--user" `L.argText` "NAME AGE" `L.text` "Prints name and age.") $ \name age -> do putStrLn $ "Name:" ++ name ++ " Age:" ++ show (age :: Int) main :: IO () main = do args <- IO.getArgs case L.runOptions options args of Left e -> do putStrLn $ L.prettyOptionsError e putStrLn $ L.getHelpDescription options Right actions -> sequence_ actions5example.exe --user HaskellCurry 81 --user GraceHopperName:HaskellCurry Age:81Name:GraceHopperexample.exe -hUsage:3-h, --help Display this help text.( --user NAME Prints name.0 --user NAME AGE Prints name and age."example.exe --user Pythagoras LXXV!Unknown option at index 2: `LXXV'Usage:3-h, --help Display this help text.( --user NAME Prints name.0 --user NAME AGE Prints name and age.Elambda-options Adds the supplied option to the  Options r () 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.Flambda-options9Produces the help description given by the input options.Glambda-options Produces the "s inserted into the input options. ;<=>?@ABCDEFG DA;<=>?@CBEFGSafe ./2=?HX_k¸lambda-optionsParsers for the various V type constructors.Žlambda-optionsParsers for the various [ type constructors.lambda-optionsParsers for the various ^ type constructors.lambda-optionsTurns a type-level P into a value-level one.Mlambda-optionsData type used for parsing ‘ values with various schemes.qIt can be useful to alias for this type: @ type B = Booly 'AllowWord 'DisallowLetter 'DisallowNumber 'LowerAll.pattern B :: Bool -> B pattern B x = Booly xb :: B -> Bool b = unBooly @Plambda-optionsControls required casing for M.Qlambda-optionsCasing is completely ignored.Rlambda-options Either casing satisfies a parse.Slambda-optionsFully lowercase is required.Tlambda-optionsFully uppercase is required.Ulambda-options?The first letter must be uppercase. The rest must be lowercase.Vlambda-options#Controls number representation for M.Wlambda-options Disallow number representations.Xlambda-optionsAllow 0 and 1 number representations.Ylambda-optionsAllow N >= 0 integer representations. 0 maps to ’. N > 0 maps to “.Zlambda-options Allow any N0 integer representation. 0 maps to ’. N /= 0 maps to “.[lambda-options#Controls letter representation for M.\lambda-options,Disallow "t" and "f" letter representations.]lambda-options)Allow "t" and "f" letter representations.^lambda-options!Controls word representation for M._lambda-options1Disallow "true" and "false" word representations.`lambda-options.Allow "true" and "false" word representations.alambda-optionsReads a M from a ”.MNOPQRSTUVWXYZ[\]^_`aMNO^_`[\]VWXYZPQRSTUaSafe‘–;  !"234;<=>?@ABCDEFGMNOPQRSTUVWXYZ[\]^_`aSafe’¸•Safe.g“–Safe“>—Safe“y˜™ !"#$%&&'()*+,-. /0123456789:;<=>?@ABCCDEFGHIJKLMNOPQRSTUVWXYZ[\]]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„……†‡ˆ‰Šˆ‹Œˆ‹ˆŽ‘’ˆ“”ˆ •ˆ –ˆ“—˜™š˜™›œž˜™Ÿ˜™  Ą ĸ Ŗˆ¤Ĩˆ¤Ļ§¨Šǘ™̘™Ŧ˜™­ˆŽ¯°°°°ą-lambda-options-1.0.1.0-9gLWM92N7ZCFJXaZhLDlABText.LambdaOptions.KeywordText.LambdaOptions.FormatterText.LambdaOptions.ParseableText.LambdaOptions.ListText.LambdaOptions.CoreText.LambdaOptions.Bool"Text.LambdaOptions.Internal.Opaque Text.LambdaOptions.Internal.Wrap GHC.TypeLits SymbolVal(Text.LambdaOptions.Internal.OpaqueParser Parseable Data.TypeableTypeableText.LambdaOptionsExample.Example_4_ReplExample.Example_3_BoolyExample.Example_2_CountWordsExample.Example_1_BasicUsage ToKeyword toKeywordKeywordkwNames kwArgTextkwTextkwargTexttext$fIsStringKeyword $fToKeyword() $fToKeyword[]$fToKeyword[]0$fToKeywordKeyword $fDataKeyword $fShowKeyword $fEqKeyword $fOrdKeyword FormatConfig fmtMaxWidthformatformatKeywordsdefaultFormatConfig$fShowFormatConfig$fReadFormatConfig$fEqFormatConfig$fOrdFormatConfigparse maybeParse simpleParse boundedParse repeatedParse$fParseable(,,)$fParseable(,) $fParseable()$fParseableSomeNat$fParseableSomeSymbol$fParseableProxy$fParseableProxy0$fParseableMaybe$fParseableDouble$fParseableFloat $fParseable[]$fParseableChar$fParseableInteger$fParseableInt$fParseableWordListunList$fParseableList $fDataList $fShowList $fReadList$fEqList $fOrdList OptionsError ParseFailedparseFailedMessageparseFailedArgsparseFailedBeginArgsIndexparseFailedEndArgsIndexOptionsOptionCallbackprettyOptionsError runOptions addOptiongetHelpDescription getKeywords$fMonadStateOptionsStateOptions$fMonadOptions$fApplicativeOptions$fFunctorOptions$fShowOptionsErrorBoolyunBooly BoolCasing IgnoreCaseOrCasingLowerAllUpperAll UpperHead BoolNumberDisallowNumberAllowBit AllowNatural AllowInteger BoolLetterDisallowLetter AllowLetterBoolWord DisallowWord AllowWord readBooly$fBoolCasingValsUpperHead$fBoolCasingValsUpperAll$fBoolCasingValsLowerAll$fBoolCasingValsOrCasing$fBoolCasingValsIgnoreCase$fReadBoolWordAllowWord$fReadBoolWordDisallowWord$fReadBoolLetterAllowLetter$fReadBoolLetterDisallowLetter$fParseableBooly$fReadBoolNumberAllowInteger$fReadBoolNumberAllowNatural$fReadBoolNumberAllowBit$fReadBoolNumberDisallowNumber $fDataBooly $fShowBooly $fReadBooly $fEqBooly $fOrdBoolyOpaqueCallbackOpaqueWrapwrapbaseGHC.ReadRead GHC.MaybeNothingJust Text.Read readMaybe+read-bounded-0.1.1.2-IvQxIbgE8wlINi6FkiMdakText.Read.Bounded ReadBounded GHC.TypeNatsSomeNatnatVal symbolValKnownNatghc-prim GHC.TypesDoubleFloat integer-gmpGHC.Integer.TypeIntegerIntWordGetOpaqueParsers OpaqueParsergetOpaqueParsers Data.EitherRightLeftReadBoolNumberReadBoolLetter ReadBoolWordBoolCasingValsBoolFalseTrueGHC.BaseStringmain