| Portability | portable | 
|---|---|
| Stability | provisional | 
| Maintainer | lennart@augustsson.net | 
| Safe Haskell | Safe | 
Text.Printf
Description
A C printf like formatter.
- printf :: PrintfType r => String -> r
- hPrintf :: HPrintfType r => Handle -> String -> r
- class PrintfType t
- class HPrintfType t
- class PrintfArg a
- class IsChar c
Documentation
printf :: PrintfType r => String -> r
Format a variable number of arguments with the C-style formatting string.
 The return value is either String or (.
IO a)
The format string consists of ordinary characters and /conversion
 specifications/, which specify how to format one of the arguments
 to printf in the output string.  A conversion specification begins with the
 character %, followed by one or more of the following flags:
    -      left adjust (default is right adjust)
    +      always use a sign (+ or -) for signed conversions
    0      pad with zeroes rather than spaces
followed optionally by a field width:
    num    field width
    *      as num, but taken from argument list
followed optionally by a precision:
.num precision (number of decimal places)
and finally, a format character:
    c      character               Char, Int, Integer, ...
    d      decimal                 Char, Int, Integer, ...
    o      octal                   Char, Int, Integer, ...
    x      hexadecimal             Char, Int, Integer, ...
    X      hexadecimal             Char, Int, Integer, ...
    u      unsigned decimal        Char, Int, Integer, ...
    f      floating point          Float, Double
    g      general format float    Float, Double
    G      general format float    Float, Double
    e      exponent format float   Float, Double
    E      exponent format float   Float, Double
    s      string                  String
Mismatch between the argument types and the format string will cause an exception to be thrown at runtime.
Examples:
> printf "%d\n" (23::Int) 23 > printf "%s %s\n" "Hello" "World" Hello World > printf "%.2f\n" pi 3.14
hPrintf :: HPrintfType r => Handle -> String -> r
class PrintfType t
The PrintfType class provides the variable argument magic for
 printf.  Its implementation is intentionally not visible from
 this module. If you attempt to pass an argument of a type which
 is not an instance of this class to printf or hPrintf, then
 the compiler will report it as a missing instance of PrintfArg.
Instances
| IsChar c => PrintfType [c] | |
| PrintfType (IO a) | |
| (PrintfArg a, PrintfType r) => PrintfType (a -> r) | 
class HPrintfType t
The HPrintfType class provides the variable argument magic for
 hPrintf.  Its implementation is intentionally not visible from
 this module.
Instances
| HPrintfType (IO a) | |
| (PrintfArg a, HPrintfType r) => HPrintfType (a -> r) | 
class PrintfArg a