Copyright | (c) 2008 Dan Doel |
---|---|
Maintainer | Dan Doel |
Stability | Experimental |
Portability | Non-portable (type synonym instances) |
Safe Haskell | None |
Language | Haskell98 |
Text.Show.ByteString
Contents
Description
Efficiently convert from values to lazy byte strings.
- class Show a where
- show :: Show a => a -> ByteString
- putAscii :: Char -> Put
- putUTF8 :: Char -> Put
- putAsciiStr :: String -> Put
- putUTF8Str :: String -> Put
- unsafePutDigit :: Int -> Put
- putDigit :: Int -> Put
- showpIntAtBase :: Integral a => a -> (Int -> Char) -> a -> Put
- showpGFloat :: RealFloat a => Maybe Int -> a -> Put
- showpFFloat :: RealFloat a => Maybe Int -> a -> Put
- showpEFloat :: RealFloat a => Maybe Int -> a -> Put
- unlinesP :: [Put] -> Put
- unwordsP :: [Put] -> Put
- showpParen :: Bool -> Put -> Put
- print :: Show a => a -> IO ()
- type Put = PutM ()
- newtype PutM a :: * -> * = Put {
- unPut :: PairS a
- runPut :: Put -> ByteString
The Show class
Minimal complete definition
Nothing
Methods
showpPrec :: Int -> a -> Put Source
Encodes a value to an efficient byte string builder. The precedence is used to determine where to put parentheses in a shown expression involving operators.
Values of type Put can be efficiently combined, so the showp functions are available for showing multiple values before producing an output byte string.
Encodes a value to an efficient byte string builder. Values of type Put can be efficiently combined, so this is available for building strings from multiple values.
showpList :: [a] -> Put Source
Allows for specialized display of lists of values. This is used, for example, when showing arrays of Chars.
Instances
show :: Show a => a -> ByteString Source
Encode a single value into a byte string
Putting Chars
Putting Strings
putAsciiStr :: String -> Put Source
Writes a string of ascii characters to a byte string
putUTF8Str :: String -> Put Source
Writes a string of unicode characters to a byte string, properly UTF-8 encoded
Putting digits
unsafePutDigit :: Int -> Put Source
Puts the decimal digit corresponding to the given Int without checking that it is in the interval [0,9]
Putting integers
showpIntAtBase :: Integral a => a -> (Int -> Char) -> a -> Put Source
Shows an Integral number using the base specified by the first argument and the chracter representation specified by the second.
Putting floats
showpGFloat :: RealFloat a => Maybe Int -> a -> Put Source
Show a signed RealFloat value using decimal notation when the absolute value lies between 0.1 and 9,999,999, and scientific notation otherwise. The optional integer can be used to specify precision.
showpFFloat :: RealFloat a => Maybe Int -> a -> Put Source
Show a signed RealFloat value using decimal notation. The optional integer can be used to specify precision.
showpEFloat :: RealFloat a => Maybe Int -> a -> Put Source
Show a signed RealFloat value using scientific (exponential) notation. The optional integer can be used to specify precision.
Combining builders
showpParen :: Bool -> Put -> Put Source
A utility function for surrounding output by parentheses conditionally.
Printing values
Put
newtype PutM a :: * -> *
The PutM type. A Writer monad over the efficient Builder monoid.
runPut :: Put -> ByteString
Run the Put
monad with a serialiser