Data.Type.Pretty

Pretty Printing Types

showPretty

type family ToPretty (a :: k) :: PrettyType

ToPretty instances for uninhabited types

type family ToPrettyMaybe (t :: Maybe x) :: PrettyType where ...

ToPretty instances for inhabited types

Pretty Printing

Pretty Printing Strings (Symbol)

type PutStr str

type PutStrW width str

type PutStrLn str

Pretty Printing Numbers (Nat)

type PutNat x

type PutNatW width x

type PutHex x

type PutHex8 x

type PutHex16 x

type PutHex32 x

type PutHex64 x

type PutHeX x

type PutHeX8 x

type PutHeX16 x

type PutHeX32 x

type PutHeX64 x

type PutBits x

type PutBits8 x

type PutBits16 x

type PutBits32 x

type PutBits64 x

Composing Pretty Printers

type label <:> body

type label <:$$> body

type label <:$$--> body

type l <++> r

type l <+> r

type l <||> r

type l <$$> r

type l <$$--> r

type PrettyParens doc

type PrettySurrounded open close doc

Pretty Printing Lists

type PrettyWide docs

type PrettyHigh docs

type PrettyManyIn sep docs

type family PrettyMany (sep :: PrettyType) (docs :: [PrettyType]) :: PrettyType where ...

type family PrettyOften (n :: Nat) (doc :: PrettyType) :: PrettyType where ...

Pretty Printing Tagged Values

Basic Building Blocks

data PrettyType

data PrettyPadded

data PrettyPrecision

data PrettyNatFormat

PrettyType Functions

type Prettifies t

data Prettifier

type family PrettifyWith (f :: Prettifies k) (x :: k) :: PrettyType

Basic Prettifiers

data PrettyTitled title indentation

Pretty Rendering

class PrettyTypeShow p

type PTM a

writeIndented

type Indentation

data PTRenderState

class PrintfArgModifier a