prettyclass-1.0.0.0: Pretty printing class similar to Show.

Safe HaskellSafe-Inferred

Text.PrettyPrint.HughesPJClass

Description

Pretty printing class, simlar to Show but nicer looking. Note that the precedence level is a Rational so there is an unlimited number of levels. Based on Text.PrettyPrint.HughesPJ, which is re-exported.

Synopsis

Documentation

class Pretty a where

Pretty printing class. The precedence level is used in a similar way as in the Show class. Minimal complete definition is either pPrintPrec or pPrint.

Methods

pPrintPrec :: PrettyLevel -> Rational -> a -> Doc

pPrint :: a -> Doc

pPrintList :: PrettyLevel -> [a] -> Doc

Instances

Pretty Bool 
Pretty Char 
Pretty Double 
Pretty Float 
Pretty Int 
Pretty Integer 
Pretty Ordering 
Pretty () 
Pretty a => Pretty [a] 
Pretty a => Pretty (Maybe a) 
(Pretty a, Pretty b) => Pretty (Either a b) 
(Pretty a, Pretty b) => Pretty (a, b) 
(Pretty a, Pretty b, Pretty c) => Pretty (a, b, c) 
(Pretty a, Pretty b, Pretty c, Pretty d) => Pretty (a, b, c, d) 
(Pretty a, Pretty b, Pretty c, Pretty d, Pretty e) => Pretty (a, b, c, d, e) 
(Pretty a, Pretty b, Pretty c, Pretty d, Pretty e, Pretty f) => Pretty (a, b, c, d, e, f) 
(Pretty a, Pretty b, Pretty c, Pretty d, Pretty e, Pretty f, Pretty g) => Pretty (a, b, c, d, e, f, g) 
(Pretty a, Pretty b, Pretty c, Pretty d, Pretty e, Pretty f, Pretty g, Pretty h) => Pretty (a, b, c, d, e, f, g, h) 

newtype PrettyLevel

Level of detail in the pretty printed output. Level 0 is the least detail.

Constructors

PrettyLevel Int 

prettyShow :: Pretty a => a -> String

Pretty print a value with the prettyNormal level.

prettyParen :: Bool -> Doc -> Doc

Parenthesize an value if the boolean is true.