úÎ]:SÍ]      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\Safe-A type isomorphic to ] with the accumulating ^ instance. _`   _`Safe!"INaThe b functor induced by the cPrint the free structureade fghijk   ade  fghijkSafeŽThe class of types that contain and can be constructed from the error returned from parsing variable whose value cannot be parsed using the l instance.|The class of types that contain and can be constructed from the error returned from parsing variables whose value is empty.mThe class of types that contain and can be constructed from the error returned from parsing unset variables.The type of errors returned by envparse's Reader!s. These fall into 3 categories:,Variables that are unset in the environment.Variables whose value is empty.1Variables whose value cannot be parsed using the l instance. !"mno  !"  !" !"mnoSafe -#`A class of things that can be still kept in an environment when the parsing has been completed.$?A class of things that can have a help message attached to them% Flag metadata&Environment variable metadata,AThis represents a modification of the properties of a particular 7. Combine them using the c instance..,An environment variable's value parser. Use (<=<) and (>=>) to combine these7An environment parser:Try to parse a pure environment<HThe string to prepend to the name of every declared environment variable=0Parse a particular variable from the environment >>> var @ "EDITOR" (E "vim" <> F show) >tA flag that takes the active value if the environment variable is set and non-empty and the default value otherwiseNote: this parser never fails.?A simple boolean >Note: this parser never fails.@The trivial readerA.The reader that accepts only non-empty stringsBThe reader that uses the l instance of the typeCOThe reader that splits a string into a list of strings consuming the separator.E!The default value of the variableNote:0 specifying it means the parser won't ever fail.F/Show the default value of the variable in help.GUse the p< instance to show the default value of the variable in help.H Attach help text to the variableIKeep a variable.8#q$r%stu&'()*+,-./0123456789:;v<wx=> default value active value?@ABCDyEzFGHI{|}~€'#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI'789/0123456:;,-<=&'()*+D.@ACBEFG>?%$H#I$#q$r%stu&'()*+,-./0123456789:;v<wx=>?@ABCDyEzFGHI{|}~€SafeJOGiven a variable name and an error value, try to produce a useful error messageKParser's metadataMUA pretty-printed list of recognized environment variables suitable for usage messagesOQSet the help text header (it usually includes the application's name and version)PSet the short descriptionQ7Set the help text footer (it usually includes examples)RAn error handlerSThe default error handlerJK‚ƒ„…†LM‡ˆ‰Š‹NOPQRSŒŽ JKLMNOPQRS LMKJNSOPQRJK‚ƒ„…†LM‡ˆ‰Š‹NOPQRSŒŽSafeTParse the environment or die$Prints the help text and exits with  EXIT_FAILURE on encountering a parse error.  >>> parse (O "env-parse 0.2.0") (= @ "USER" (E "nobody")) UTry to parse the environment5Use this if simply dying on failure (the behavior of T) is inadequate for your needs.TU‘0 !"#$%&,.7:<=>?@ABCEFHIJKMOPQRSTU0TU7,KOPQRJS<=&.@ACBEF>?%$H#IM !":TU‘Safe'(-./13579>KLNUVA field annotation.&If you annotate a record field with a Symbol| literal (that is, a statically known type level string) the derivation machinery will use the literal in the help message.KPlease remember that the values of the annotated fields are wrapped in the W constructor.YGiven a  Field e a instance, a value of the type a] can be parsed from an environment variable. If the parsing fails, a value of an error type e is returned.The Z= method has a default implementation for any type that has a l6 instance. If you need to choose a concrete type for e, the default error type ’ is a good candidate. Otherwise, the features you'll use in your parsers will naturally guide GHC to compute the set of required constraints on e.>The annotated instances do not use the default implementation.[Given a  Record e a instance, a value of the type aU can be parsed from the environment. If the parsing fails, a value of an error type e is returned.The \= method has a default implementation for any type that has a 6 instance. If you need to choose a concrete type for e, the default error type ’ is a good candidate. Otherwise, the features you'll use in your parsers will naturally guide GHC to compute the set of required constraints on e.’;Augments the underlying field parser with the help message.“(Any set and non-empty value parses to a ”; otherwise, it's a •. This parser never fails.–Expects a single-character — value.˜ Uses the — value verbatim.+VWXYZ™š›œžŸ ¡¢£[\¤’“–˜¥¦§¨©ª«¬­®¯°±²³´µ¶·¸VWXYZ[\[\YZVWX VWXYZ™š›œžŸ ¡¢£[\¤’“–˜¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹     !"#$%&'()*+,-./012334567889::;<=>?@AABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklhmhnlopqrstuvwxyz{|}~2€‚ƒ„…†‡ˆ‰Š‹ŒTŽ‘’“”•–—˜™š›œžŸ žŸ¡¢h£¤¥¦d§¨©ªª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃenvpa_7OP4gZr2D8I4OBHBk1TVUF Env.GenericEnvEnv.Internal.ValEnv.Internal.FreeEnv.Internal.ErrorEnv.Internal.ParserEnv.Internal.Helpbase GHC.GenericsGeneric Control.Monad<=<>=>Control.Applicativeoptional Data.Foldableasum Data.Monoid<>ValErrOk fromEithertoEitherAltNopePureApLiftinspectliftAltrunAltfoldAlthoistAltAsUnreadunread tryUnreadAsEmptyemptytryEmptyAsUnsetunsettryUnsetError UnsetError EmptyError UnreadErrorHasKeepHasHelpFlagVarvarHelp varHelpDefvarDefvarKeepModReaderVarFvarfName varfReadervarfHelpvarfDef varfHelpDefvarfKeepParserunParser parsePure eachUnsetVarprefixedvarflagswitchstrnonemptyautosplitOn defaultVardefhelpDefshowDefhelpkeep ErrorHandlerInfohelpInfohelpDoc defaultInfoheaderdescfooter handleErrordefaultErrorHandlerparseparseOr?HelpunHelpFieldfieldRecordrecord Data.EitherEitherGHC.Base Applicative$fAlternativeVal$fApplicativeValMon AlternativeMonoidunMon$fAlternativeMon$fApplicativeMon $fFunctorMon$fAlternativeAlt$fApplicativeAlt $fFunctorAltGHC.ReadRead$fAsUnreadError$fAsEmptyError$fAsUnsetErrorGHC.ShowShowsetKeepsetHelpflagHelpflagKeepreadVarliftVarF lookupVar defaultKeep defaultFlag $fHasKeepFlag $fHasKeepVar $fHasHelpFlag $fHasHelpVar $fMonoidMod$fAlternativeParser$fApplicativeParser infoHeaderinfoDesc infoFooterinfoHandleError helpParserDoc helpVarfDoc splitWordsindent helpErrorshandleUnsetErrorhandleEmptyErrorhandleUnreadErrorvarNamedie traverseLeft $fFielde? $fFieldeBoolghc-prim GHC.TypesTrueFalse $fFieldeCharString $fFielde[]ConTypePlainTypeGRecordgrState statePrefixstateConstateVarcamelTo2$fFieldeDouble $fFieldeFloat$fFieldeNatural$fFieldeWord64$fFieldeWord32$fFieldeWord16 $fFieldeWord8 $fFieldeWord$fFieldeInteger $fFieldeInt64 $fFieldeInt32 $fFieldeInt16 $fFieldeInt8 $fFieldeInt $fGRecord*eM1$fGRecord*e:+:$fGRecord*e:*:$fGRecord*eM10 $fGRecord*eK1$fGRecord*eM11