Safe Haskell | Safe |
---|---|
Language | Haskell98 |
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
- class Pretty a where
- pPrintPrec :: PrettyLevel -> Rational -> a -> Doc
- pPrint :: a -> Doc
- pPrintList :: PrettyLevel -> [a] -> Doc
- newtype PrettyLevel = PrettyLevel Int
- prettyNormal :: PrettyLevel
- prettyShow :: Pretty a => a -> String
- prettyParen :: Bool -> Doc -> Doc
Documentation
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
.
Minimal complete definition
Nothing
Methods
pPrintPrec :: PrettyLevel -> Rational -> a -> Doc Source #
pPrintList :: PrettyLevel -> [a] -> Doc Source #
Instances
Pretty Bool Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Bool -> Doc Source # pPrint :: Bool -> Doc Source # pPrintList :: PrettyLevel -> [Bool] -> Doc Source # | |
Pretty Char Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Char -> Doc Source # pPrint :: Char -> Doc Source # pPrintList :: PrettyLevel -> [Char] -> Doc Source # | |
Pretty Double Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Double -> Doc Source # pPrint :: Double -> Doc Source # pPrintList :: PrettyLevel -> [Double] -> Doc Source # | |
Pretty Float Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Float -> Doc Source # pPrint :: Float -> Doc Source # pPrintList :: PrettyLevel -> [Float] -> Doc Source # | |
Pretty Int Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Int -> Doc Source # pPrintList :: PrettyLevel -> [Int] -> Doc Source # | |
Pretty Integer Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Integer -> Doc Source # pPrint :: Integer -> Doc Source # pPrintList :: PrettyLevel -> [Integer] -> Doc Source # | |
Pretty Ordering Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Ordering -> Doc Source # pPrint :: Ordering -> Doc Source # pPrintList :: PrettyLevel -> [Ordering] -> Doc Source # | |
Pretty () Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> () -> Doc Source # pPrintList :: PrettyLevel -> [()] -> Doc Source # | |
Pretty a => Pretty [a] Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> [a] -> Doc Source # pPrintList :: PrettyLevel -> [[a]] -> Doc Source # | |
Pretty a => Pretty (Maybe a) Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Maybe a -> Doc Source # pPrint :: Maybe a -> Doc Source # pPrintList :: PrettyLevel -> [Maybe a] -> Doc Source # | |
(Pretty a, Pretty b) => Pretty (Either a b) Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> Either a b -> Doc Source # pPrint :: Either a b -> Doc Source # pPrintList :: PrettyLevel -> [Either a b] -> Doc Source # | |
(Pretty a, Pretty b) => Pretty (a, b) Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> (a, b) -> Doc Source # pPrint :: (a, b) -> Doc Source # pPrintList :: PrettyLevel -> [(a, b)] -> Doc Source # | |
(Pretty a, Pretty b, Pretty c) => Pretty (a, b, c) Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> (a, b, c) -> Doc Source # pPrint :: (a, b, c) -> Doc Source # pPrintList :: PrettyLevel -> [(a, b, c)] -> Doc Source # | |
(Pretty a, Pretty b, Pretty c, Pretty d) => Pretty (a, b, c, d) Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> (a, b, c, d) -> Doc Source # pPrint :: (a, b, c, d) -> Doc Source # pPrintList :: PrettyLevel -> [(a, b, c, d)] -> Doc Source # | |
(Pretty a, Pretty b, Pretty c, Pretty d, Pretty e) => Pretty (a, b, c, d, e) Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> (a, b, c, d, e) -> Doc Source # pPrint :: (a, b, c, d, e) -> Doc Source # pPrintList :: PrettyLevel -> [(a, b, c, d, e)] -> Doc Source # | |
(Pretty a, Pretty b, Pretty c, Pretty d, Pretty e, Pretty f) => Pretty (a, b, c, d, e, f) Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> (a, b, c, d, e, f) -> Doc Source # pPrint :: (a, b, c, d, e, f) -> Doc Source # pPrintList :: PrettyLevel -> [(a, b, c, d, e, f)] -> Doc Source # | |
(Pretty a, Pretty b, Pretty c, Pretty d, Pretty e, Pretty f, Pretty g) => Pretty (a, b, c, d, e, f, g) Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> (a, b, c, d, e, f, g) -> Doc Source # pPrint :: (a, b, c, d, e, f, g) -> Doc Source # pPrintList :: PrettyLevel -> [(a, b, c, d, e, f, g)] -> Doc Source # | |
(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) Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods pPrintPrec :: PrettyLevel -> Rational -> (a, b, c, d, e, f, g, h) -> Doc Source # pPrint :: (a, b, c, d, e, f, g, h) -> Doc Source # pPrintList :: PrettyLevel -> [(a, b, c, d, e, f, g, h)] -> Doc Source # |
newtype PrettyLevel Source #
Level of detail in the pretty printed output. Level 0 is the least detail.
Constructors
PrettyLevel Int |
Instances
Eq PrettyLevel Source # | |
Defined in Text.PrettyPrint.HughesPJClass | |
Ord PrettyLevel Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods compare :: PrettyLevel -> PrettyLevel -> Ordering (<) :: PrettyLevel -> PrettyLevel -> Bool (<=) :: PrettyLevel -> PrettyLevel -> Bool (>) :: PrettyLevel -> PrettyLevel -> Bool (>=) :: PrettyLevel -> PrettyLevel -> Bool max :: PrettyLevel -> PrettyLevel -> PrettyLevel min :: PrettyLevel -> PrettyLevel -> PrettyLevel | |
Show PrettyLevel Source # | |
Defined in Text.PrettyPrint.HughesPJClass Methods showsPrec :: Int -> PrettyLevel -> ShowS show :: PrettyLevel -> String showList :: [PrettyLevel] -> ShowS |
prettyShow :: Pretty a => a -> String Source #
Pretty print a value with the prettyNormal
level.
prettyParen :: Bool -> Doc -> Doc Source #
Parenthesize an value if the boolean is true.