úÎ2.Q C  !"#$%&'()*+,-./01DFormat a variable number of arguments according to a format string, < similar to (s)printf in Perl. The return value is either a 2 or  3 ()), in which case the result is printed to 4. EThe format string consists of ordinary characters (everything except  '%'B), which are passed through unchanged, and formatting directives,  which have the following form:    % flag* vector? width?  precision? type (* and ?A mean 0 or more and 0 or 1 of the preceding item, respectively.) Flags:  space& prefix positive numbers with a space +G prefix positive numbers with a plus sign (overrides space if both are  present) - left-justify within the field 0) pad with zeroes on the left, not spaces # prefix binary numbers with 0b/0B, octal numbers with 0o/0O  and hexadecimal numbers with 0x/0X The vector flag v tells ( to format each character in the string L argument according to the current directive, then joins the results with a  separator that defaults to ".". When *v is used, the separator is ( taken from the argument list (use e.g.  "%*v.2x" "" str if you  want no separator). The width is either a decimal integer or *, in which case the width is E taken from the argument list (this argument must be an integer). It J specifies the minimum width for this field. Shorter values are padded on 6 the left with spaces (but this can be changed by the 0 and - flags). If  the width@ taken from the argument list is negative, it behaves as if the  - flag was specified. The  precision consists of a . followed by digits or a * (see the  description of width* above). The effects depend on the format type: K for floating point formats, this specifies the number of digits after the  decimal point H for string formats, this is the maximum number of characters to appear  (longer strings are truncated) H for integer formats, this is the minimum number of digits to appear in , the output; shorter values are zero-padded Types: %* A percent sign. No argument is consumed. cB A character. If the argument is an integer, it is converted with  5. s A string. d A decimal integer. u An unsigned decimal integer. b A binary integer. B Like b, but using a 0B prefix with #. o An octal integer. O Like o, but using a 0O prefix with #. x A hexadecimal integer. X Like x, but using uppercase letters. e1 A floating point number in scientific notation. E Like e, but using an uppercase E. f4 A floating point number in fixed decimal notation. g A floating point number in %e or %f notation. G Like g, but using an uppercase E. _# A generic format; it behaves like %c, %s, %d or %g , depending  on the argument type. Like 5, except that the result is printed to the specified  6. 789:;<=>?@ABCDEFG   H      !""#$%&'()*+,-./01234567839:34;3<=>?@ABCDEFGHIJKLMNOprintf-mauke-0.2Text.Printf.Mauke PrintfArg HPrintfType PrintfTypeToChartoCharFromCharfromCharprintfhPrintfTypeTanyTBTbTGTETXTOTgTfTeTxToTuTdTsTcTpercentFlagFAltFZeroFPlusFSpaceSpecflagsvectorwidth precisionftypeembedArgAFloatAStrACharAInthcollectcollect thisModulediepdiebaseGHC.BaseStringghc-prim GHC.TypesIOGHC.IO.Handle.FDstdoutchrGHC.IO.Handle.TypesHandleashowformatch2flagch2typeenoargaunconsarg2intarg2int'arg2str arg2floatparseIntparseVecparsepadWithpadCharint2charapply