úÎ;Î8¶$      !"#Safe1  A  Command m is an action (in the monad m/), together with some descriptive information.*This determines which command is executed.For usage info.,The actual action performed by this command.7Prefer shortened subcommands over non-option arguments.A value of type Option aD describes an option, that delivers a value to the program of type a. An Action m is an action (in the monad mO), which may take arguments ("non-options") and options from the command line.$%&'()*+,-. /012345$%)*+-,. /3120Safe A Type a. represents the type of an option or argument.AFurther below you can find some common types of option arguments. (Parse the option argument into a value (Right) or signal a parsing error (Left). 9A name for this type of option argument (for usage info).CThe default value when the option occurs without option argument. Nothing< means that an argument is required for this type of option.Create an option description."Options can have arguments, as in myprogram --foo=bar, where bar is the argument to foof. These arguments have types, dictated by the particular option; this type is the third parameter to option.A plain string.HA boolean. Argument can be "1","0","true","false","on","off","yes","no".A natural number (in decimal).An integer number (in decimal).;A directory path. A trailing slash is stripped, if present. A file path.A device path. List of short option characters.List of long option strings.Type of option argument.;Default value when the option is not specified by the user. Description.!The resulting option description.Default value.    Safe.ó Commands m1 is a tree of commands (with action in the monad mB). It represents the whole set of possible commands of a program.4Create a new command having a given name and action.6Specify whether abbreviated subcommands are allowed. If not, (sub)commands that do not match exactly are interpreted as non-option arguments.;A simple action, taking no argument, and having no options.5Create an action that takes an argument (non-option).gThe type of argument is specified by the first parameter; such values can be obtained from the module System.Console.Argument.?Create an action that takes all remaining non-option arguments.jThe type of arguments is specified by the first parameter; such values can be obtained from the module System.Console.Argument.&Create an action that takes an option.[The first parameter is a description of the option; such a value can be constructed using .<Create an action that allows, but ignores, the given option.½This is especially useful if this option is given in the configuration file, but is meant for other commands; then this action will not give an error message about an unrecognised option.  Safe/«7NoneV8 ˜Load the configuration file (if present), and run the command given on the command line. Settings on the command line override the configuration file.PYou may use this function, applied to your tree of available commands, as your main function.!¦Start an interactive session. Arguments to the program are ignored; instead, the user may repeatedly enter a command, possibly with options, which will be executed."Same as !H, but with a custom monadic function specifying the text of the prompt.#+Print usage info for the program to stdout. !"# !"#8        !"#$%&'()*+,-./0123456789:;.console-program-0.4.2.2-A8aWIEDMkqJJQc534DkYP8System.Console.CommandSystem.Console.ArgumentSystem.Console.ProgramSystem.Console.InternaloptionSystem.Console.ConfigFilecontainers-0.5.10.2 Data.TreeNodeTreeCommandname descriptionactionshortenOptionActionTypeparser defaultValueoptionalstringbooleannaturalinteger directoryfiledevice $fFunctorTypeCommandscommandio withNonOptionwithNonOptions withOption ignoreOptionsingle interactiveinteractiveWithPrompt showUsageConsoleProgramExceptionUnknownCommandSettingsCanonicalSettingSetting IdentifierId OptionNameLongShortignoringOptions nonOptionsoptionsrun UserCommandidentify allowShort readFromFile