h&)$      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred%&/16;<#!optparse-generic2Constraint for types whose fields can be unwrappedoptparse-generic&Flag to unwrap fields annotated using *optparse-genericFlag to keep fields wrappedoptparse-generic.A type family to extract fields wrapped using *optparse-generic Options for customizing derived " implementations for  typesYou can either create the  record directly: modifiers :: Modifiers modifiers = Modifiers { fieldNameModifier = ... , constructorNameModifier = ... , shortNameModifier = ... }... or you can tweak the 6: modifiers :: Modifiers modifiers = defaultModifiers { fieldNameModifier = ... }&... or you can use/tweak a predefined Modifier, like 7The 9 function uses this  record when generating a  implementation of "optparse-generic/Transform the name of derived fields (Default: id) optparse-generic5Transform the name of derived constructors (Default:  map toLower)!optparse-generic=Derives an optional short name from the field name (Default:  \_ -> Nothing)"optparse-generic:A class for types that can be parsed from the command lineThis class has a default implementation for any type that implements  and you can derive $ for many types by enabling the  DeriveGeneric language extensionYou can also use 5 to create a " instance from a - instance: instance ParseRecord MyType where parseRecord = fmap getOnly parseRecordoptparse-generic$A 1-tuple, used solely to translate - instances into " instances$optparse-generic "f" , bar :: Double <#> "b" } deriving (Generic, Show)'optparse-generic>Use this to annotate a field with a type-level string (i.e. a 4) representing the default value for that field: data Example = Example { foo :: Int "1" , bar :: Double "0.5" } deriving (Generic, Show)*optparse-generic>Use this to annotate a field with a type-level string (i.e. a 7) representing the help description for that field: data Example = Example { foo :: Int "Documentation for the foo flag" , bar :: Double "Documentation for the bar flag" } deriving (Generic, Show)-optparse-genericA class for all types that can be parsed from zero or more arguments/options on the command line.? has a default implementation for any type that implements //optparse-genericA class for all record fields that can be parsed from exactly one option or argument on the command line0? has a default implementation for any type that implements  and . You can derive ' for many types and you can derive  for any type if you enable the DeriveDataTypeable language extension1optparse-genericThe only reason for this method is to provide a special case for handling s. All other instances should just fall back on the default implementation for 1optparse-generic a readMaybe using provided ReadM5optparse-genericThis is a convenience function that you can use if you want to create a "" instance that just defers to the - instance for the same type: instance ParseRecord MyType where parseRecord = fmap getOnly parseRecord6optparse-generic5These are the default modifiers used if you derive a  implementation. You can customize this and pass the result to 9< if you would like to modify the derived implementation: myModifiers :: Modifiers myModifiers = defaultModifiers { constructorNameModifier = id } instance ParseRecord MyType where parseRecord = parseRecordWithModifiers myModifiers7optparse-generic)Convert field and constructor names from  CamelCase to  lisp-case.Leading underscores are dropped, allowing one to use option names which are Haskell keywords or otherwise conflicting identifiers. BuildCommand -> build-command someFlag -> --some-flag _type -> --type _splitAt -> --split-at8optparse-genericUse this for the ! field of the  record if you want to use the first letter of each option as the short name9optparse-genericUse 96 when you want to tweak the behavior of a derived " implementation, like this: myModifiers :: Modifiers myModifiers = defaultModifiers { constructorNameModifier = id } instance ParseRecord MyType where parseRecord = parseRecordWithModifiers myModifiers(This will still require that you derive  for your type to automate most of the implementation, but the  that you pass will change how the implementation generates the command line interface:optparse-generic"Marshal any value that implements " from the command line$If you need to modify the top-level  ParserInfo or  ParserPrefs use the ; function.;optparse-generic"Marshal any value that implements " from the command lineThis is the lower-level sibling of 'getRecord and lets you modify the  ParserInfo and  ParserPrefs records.<optparse-generic"Marshal any value that implements " from the commmand line alongside an io action that prints the help message.=optparse-generic"Marshal any value that implements " from the commmand line alongside an io action that prints the help message.>optparse-genericPure version of :#If you need to modify the parser's  ParserInfo or  ParserPrefs, use ?.:set -XOverloadedStrings getRecordPure ["1"] :: Maybe IntJust 1'getRecordPure ["1", "2"] :: Maybe [Int] Just [1,2]"getRecordPure ["Foo"] :: Maybe IntNothing?optparse-genericPure version of ;Like ;, this is a sibling of 'getRecordPure and exposes the monoidal modifier structures for  ParserInfo and  ParserPrefs to you.:set -XOverloadedStrings2getRecordPureWith ["1"] mempty mempty :: Maybe IntJust 19getRecordPureWith ["1", "2"] mempty mempty :: Maybe [Int] Just [1,2]4getRecordPureWith ["Foo"] mempty mempty :: Maybe IntNothingoptparse-genericoptparse-generic's flavor of options.@optparse-generic"Unwrap the fields of a constructorAoptparse-generic"Marshal any value that implements "- from the command line and unwrap its fieldsBoptparse-genericPure version of ACoptparse-generic"Marshal any value that implements " from the command line and unwrap its fields alongside an io action to print the help message .optparse-generic Help messageoptparse-generic Field labeloptparse-generic Short nameoptparse-generic Default value0optparse-generic Help messageoptparse-generic Field labeloptparse-generic Short nameoptparse-generic Default value1optparse-generic Help messageoptparse-generic Field labeloptparse-generic Short nameoptparse-generic Default value:optparse-genericProgram description;optparse-generic ParserInfo modifiersoptparse-generic ParserPrefs modifiers<optparse-genericProgram descriptionoptparse-generic*(options, io action to print help message)=optparse-genericProgram descriptionoptparse-generic ParserPrefs modifiersoptparse-generic*(options, io action to print help message)>optparse-genericCommand-line arguments?optparse-genericCommand-line argumentsoptparse-generic ParserInfo modifiersoptparse-generic ParserPrefs modifiersBoptparse-genericCommand-line argumentsCoptparse-genericProgram descriptionoptparse-generic*(options, io action to print help message)    !"#$%&'()*+,-./2301456789:;<=>?@ABC:;=<>?ACB@"#-./230154 !9678*+,'()$%&   0            !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,optparse-generic-1.5.2-ts85S65ecQ1ZO1Vts8vP7Options.Genericbase GHC.GenericsGenericOnly-0.1-EAwkTik4whW927ghNLWarpData.Tuple.OnlyfromOnlyOnly Data.MonoidgetLastLastgetFirstFirstData.Semigroup.InternalgetSumSum getProductProductgetAnyAnygetAllAll text-1.2.5.0Data.Text.InternalText Unwrappable UnwrappedWrapped:::GenericParseRecordgenericParseRecord ModifiersfieldNameModifierconstructorNameModifiershortNameModifier ParseRecord parseRecord<#> ShortName unShortNameDefValue unDefValueHelpful unHelpful ParseFields parseFields ParseField parseFieldparseListOfField readFieldmetavarreadIntegralBoundedgetOnlydefaultModifierslispCaseModifiers firstLetterparseRecordWithModifiers getRecord getRecordWith getWithHelpgetWithHelpWith getRecordPuregetRecordPureWithunwrap unwrapRecordunwrapRecordPureunwrapWithHelp$fParseFieldZonedTime$fParseFieldLocalTime$fParseFieldTimeOfDay$fParseFieldTimeZone$fParseFieldCalendarDiffTime$fParseFieldUTCTime$fParseFieldDay$fParseFieldCalendarDiffDays$fParseFieldByteString$fParseFieldText$fParseFieldByteString0$fParseFieldText0$fParseFieldAll$fParseFieldAny$fParseFieldChar$fParseField[]$fParseFieldNatural$fParseFieldWord64$fParseFieldWord32$fParseFieldWord16$fParseFieldWord8$fParseFieldInt64$fParseFieldInt32$fParseFieldInt16$fParseFieldInt8$fParseFieldInt$fParseFieldVoid$fParseField()$fParseFieldOrdering$fParseFieldInteger$fParseFieldFloat$fParseFieldDouble$fParseFieldBool$fParseField$fParseField$fParseField<#>$fGenericParseRecordM1$fGenericParseRecordV1$fGenericParseRecord:*:$fGenericParseRecord:+:$fGenericParseRecord:+:0$fGenericParseRecord:+:1$fGenericParseRecord:+:2$fGenericParseRecordM10$fGenericParseRecordU1$fParseRecordNonEmpty$fParseRecord[]$fParseRecordProduct$fParseRecordSum$fParseRecordLast$fParseRecordFirst$fParseRecordMaybe$fParseRecordZonedTime$fParseRecordLocalTime$fParseRecordTimeOfDay$fParseRecordTimeZone$fParseRecordCalendarDiffTime$fParseRecordUTCTime$fParseRecordDay$fParseRecordCalendarDiffDays$fParseRecordByteString$fParseRecordByteString0$fParseRecordAll$fParseRecordAny$fParseRecordText$fParseRecordText0$fParseRecordInteger$fParseRecordBool$fParseRecordNatural$fParseRecord()$fParseRecordWord64$fParseRecordWord32$fParseRecordWord16$fParseRecordWord8$fParseRecordVoid$fParseRecordOrdering$fParseRecordInt64$fParseRecordInt32$fParseRecordInt16$fParseRecordInt8$fParseRecordInt$fParseRecordFloat$fParseRecordDouble$fParseRecordChar$fGenericParseRecordM11$fParseRecordEither$fParseRecord(,,,,,,)$fParseRecord(,,,,,)$fParseRecord(,,,,)$fParseRecord(,,,)$fParseRecord(,,)$fParseRecord(,)$fParseRecordOnly$fParseRecordOnly_$fParseRecord<#>$fParseFields<#>$fParseRecord$fParseFields$fParseRecord$fParseFields$fParseFieldsNonEmpty$fParseFields[]$fParseFieldsProduct$fParseFieldsSum$fParseFieldsLast$fParseFieldsFirst$fParseFieldsMaybe$fParseFieldsAll$fParseFieldsAny$fParseFields()$fParseFieldsBool$fParseFieldsNatural$fParseFieldsZonedTime$fParseFieldsLocalTime$fParseFieldsTimeOfDay$fParseFieldsTimeZone$fParseFieldsCalendarDiffTime$fParseFieldsUTCTime$fParseFieldsDay$fParseFieldsCalendarDiffDays$fParseFieldsText$fParseFieldsText0$fParseFieldsByteString$fParseFieldsByteString0$fParseFieldsWord64$fParseFieldsWord32$fParseFieldsWord16$fParseFieldsWord8$fParseFieldsVoid$fParseFieldsOrdering$fParseFieldsInteger$fParseFieldsInt64$fParseFieldsInt32$fParseFieldsInt16$fParseFieldsInt8$fParseFieldsInt$fParseFieldsFloat$fParseFieldsDouble$fParseFieldsChar$fGenericUnwrappableK1K1$fGenericUnwrappableK1K10$fGenericUnwrappableK1K11$fGenericUnwrappableK1K12$fGenericUnwrappable:*::*:$fGenericUnwrappable:+::+:$fGenericUnwrappableM1M1$fGenericUnwrappableU1U1$fDataUnwrapped$fGenericOnly_ $fShowOnly_ $fGeneric<#> $fShow<#> $fData<#>$fEq<#> $fGeneric $fShow $fData$fEq $fGeneric $fShow $fData$fEqOnly_ghc-prim GHC.TypesSymbolGHC.ReadReadData.Typeable.InternalTypeableGHC.BaseStringrunReadMdefaultParserPrefs