bytestring-show-0.3.5.5: Efficient conversion of values into readable byte strings.

PortabilityNon-portable (type synonym instances)
StabilityExperimental
MaintainerDan Doel
Safe HaskellNone

Text.Show.ByteString

Contents

Description

Efficiently convert from values to lazy byte strings.

Synopsis

The Show class

class Show a where

Conversion of values to readable byte strings. Minimal complete definition: showp or showpPrec

Methods

showpPrec :: Int -> a -> Put

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.

showp :: a -> Put

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

Allows for specialized display of lists of values. This is used, for example, when showing arrays of Chars.

Instances

Show Bool 
Show Char 
Show Double 
Show Float 
Show Int 
Show Int8 
Show Int16 
Show Int32 
Show Int64 
Show Integer 
Show Ordering 
Show Word 
Show Word8 
Show Word16 
Show Word32 
Show Word64 
Show () 
Show Put 
Show a => Show [a] 
(Show a, Integral a) => Show (Ratio a) 
Show a => Show (Maybe a) 
Show e => Show (Set e) 
(Show a, RealFloat a) => Show (Complex a) 
(Show a, Show b) => Show (Either a b) 
(Show a, Show b) => Show (a, b) 
(Show k, Show v) => Show (Map k v) 
(Show i, Show e, Ix i) => Show (Array i e) 
(Show a, Show b, Show c) => Show (a, b, c) 
(Show a, Show b, Show c, Show d) => Show (a, b, c, d) 
(Show a, Show b, Show c, Show d, Show e) => Show (a, b, c, d, e) 
(Show a, Show b, Show c, Show d, Show e, Show f) => Show (a, b, c, d, e, f) 
(Show a, Show b, Show c, Show d, Show e, Show f, Show g) => Show (a, b, c, d, e, f, g) 

show :: Show a => a -> ByteString

Encode a single value into a byte string

Putting Chars

putAscii :: Char -> Put

Writes a single Char to a byte string, assuming it's ascii.

putUTF8 :: Char -> Put

Writes a single Char to a byte string, properly UTF-8 encoded

Putting Strings

putAsciiStr :: String -> Put

Writes a string of ascii characters to a byte string

putUTF8Str :: String -> Put

Writes a string of unicode characters to a byte string, properly UTF-8 encoded

Putting digits

unsafePutDigit :: Int -> Put

Puts the decimal digit corresponding to the given Int without checking that it is in the interval [0,9]

putDigit :: Int -> Put

Puts the digit corresponding to the Int passed in.

Putting integers

showpIntAtBase :: Integral a => a -> (Int -> Char) -> a -> Put

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

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

Show a signed RealFloat value using decimal notation. The optional integer can be used to specify precision.

showpEFloat :: RealFloat a => Maybe Int -> a -> Put

Show a signed RealFloat value using scientific (exponential) notation. The optional integer can be used to specify precision.

Combining builders

unlinesP :: [Put] -> Put

Merge several string builders, separating them by newlines

unwordsP :: [Put] -> Put

Merge several string builders, separating them by spaces

showpParen :: Bool -> Put -> Put

A utility function for surrounding output by parentheses conditionally.

Printing values

print :: Show a => a -> IO ()

Print a value to the standard output

Put

type Put = PutM ()

newtype PutM a

Constructors

Put 

Fields

unPut :: PairS a
 

Instances

Monad PutM 
Functor PutM 
Applicative PutM 
Show Put 

runPut :: Put -> ByteString