!!a None$2  !"#$%&'()*+,-./012345None$<QV 6789:;<=>None3 ?@ABCDEFGHIJSafeKLMNOPQRSafeSTNoneUVWXY None"# Z[\]^_`abc None"#VdefghijklmnopqNone V th-printf4Takes a format string as input and produces a tuple (args, outputExpr).This function processes character escapes as they would appear in Haskell source code. It will emit warnings (or throw an error, as appropriate) when given an invalid format string.Use if you wish to leverage  th-printf@ in conjunction with, for example, an existing logging library.None0VE th-printf [,|Hello, %s! (%d people greeted)|] :: ... -> r .This formatter follows the guidelines listed  1http://www.cplusplus.com/reference/cstdio/printf/here, except for %n; (store number of printed characters) for obvious reasons.  %c :: s %s :: r- -- datatypes with Show instances %? :: t+ a => a -- signed integer types %d, %i :: u. i => i -- unsigned integer types %u :: (v i, u i) => i %o :: (v i, u i) => i %x, %X :: (v i, u i) => i -- floats %a, %A :: w f => f %e, %E :: w f => f %f, %F :: w f => f %g, %G :: w f => f %p ::    a !N.B.: For consistency with other printf^ implementations, arguments formatted as unsigned integer types will "underflow" if negative. th-printfLike %, but prints the resulting string to stdout. '[p|Hello, %s! (%d people greeted)|] :: x m => ... -> m ()  th-printfLike &, but takes as its first argument the   to print to. ([hp|Hello, %s! (%d people greeted)|] :: x m =>   -> ... -> m () y !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLLMFNOPQRSTUVWXYZ[\]^ _ _ ` a b c d e f g h i j k l m n o p q r s t uvwxyz{v|}v~vvv&th-printf-0.6.0-3v7rEuLvqa39bKcVZEqAqOLanguage.Haskell.Printf.LibLanguage.Haskell.Printf Parser.TypesParserLanguage.Haskell.PrintfArgPaths_th_printfStrUtilsNumUtils Language.Haskell.Printf.Geometry Language.Haskell.Printf.Printers Foreign.PtrPtr System.IOHandle toSplicessphpFlagSetprefixedspaced adjustmentsigned FormatStr FormatArgspec precisionflagswidth lengthSpec MaySpecifyNeedGiven Adjustment ZeroPadded LeftJustifiedFlagFlagZeroPadded FlagPrefixed FlagSpaced FlagSigned FlagLJustLengthSpecifierZJBigLDoubleLHDoubleHLTAtomStrArgadjustmentFlags emptyFlagSet toFlagSet adjustment_ prefixed_signed_spaced_flags_ lengthSpec_ precision_spec_width_WarningparseStrnormalizeAndWarnflagSetspecSetlengthSpecifiersoneOfSet printfStrfmtArg PrintfArg fieldSpecvalueprecversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName justifyLeft justifyRight showIntAtBaseformatRealFloatAlttoRoundedDigits fromDigitsformatHexFloatValuevalSign valPrefixvalArgsign' padDecimalprefix fromPrintfArg formatOnePrinter printfString printfShow printfChar printfPtr printfDecimal fmtUnsigned printfHexprintfUnsigned printfOctalprintfFloatingprintfScientific printfGenericprintfFloatHexbaseGHC.BaseStringghc-prim GHC.TypesCharGHC.ShowShowGHC.RealIntegralGHC.EnumBounded GHC.Float RealFloatControl.Monad.IO.ClassMonadIO