haskell / 9 / libraries / pretty-1.1.3.6 / text-prettyprint-annotated-hughespjclass.html

Text.PrettyPrint.Annotated.HughesPJClass

Copyright (c) Trevor Elliott <revor@galois.com> 2015
License BSD-style (see the file LICENSE)
Maintainer David Terei <code@davidterei.com>
Stability stable
Portability portable
Safe Haskell Safe
Language Haskell98

Contents

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. This module re-exports HughesPJ.

Pretty typeclass

class Pretty a where Source

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

pPrintPrec | pPrint

Methods

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

pPrint :: a -> Doc ann Source

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

Instances
Instances details
Pretty Ordering Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Pretty Integer Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Pretty () Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> () -> Doc ann Source

pPrint :: () -> Doc ann Source

pPrintList :: PrettyLevel -> [()] -> Doc ann Source

Pretty Bool Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> Bool -> Doc ann Source

pPrint :: Bool -> Doc ann Source

pPrintList :: PrettyLevel -> [Bool] -> Doc ann Source

Pretty Char Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> Char -> Doc ann Source

pPrint :: Char -> Doc ann Source

pPrintList :: PrettyLevel -> [Char] -> Doc ann Source

Pretty Double Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Pretty Float Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Pretty Int Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> Int -> Doc ann Source

pPrint :: Int -> Doc ann Source

pPrintList :: PrettyLevel -> [Int] -> Doc ann Source

Pretty a => Pretty (Maybe a) Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> Maybe a -> Doc ann Source

pPrint :: Maybe a -> Doc ann Source

pPrintList :: PrettyLevel -> [Maybe a] -> Doc ann Source

Pretty a => Pretty [a] Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> [a] -> Doc ann Source

pPrint :: [a] -> Doc ann Source

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

(Pretty a, Pretty b) => Pretty (Either a b) Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> Either a b -> Doc ann Source

pPrint :: Either a b -> Doc ann Source

pPrintList :: PrettyLevel -> [Either a b] -> Doc ann Source

(Pretty a, Pretty b) => Pretty (a, b) Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> (a, b) -> Doc ann Source

pPrint :: (a, b) -> Doc ann Source

pPrintList :: PrettyLevel -> [(a, b)] -> Doc ann Source

(Pretty a, Pretty b, Pretty c) => Pretty (a, b, c) Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> (a, b, c) -> Doc ann Source

pPrint :: (a, b, c) -> Doc ann Source

pPrintList :: PrettyLevel -> [(a, b, c)] -> Doc ann Source

(Pretty a, Pretty b, Pretty c, Pretty d) => Pretty (a, b, c, d) Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> (a, b, c, d) -> Doc ann Source

pPrint :: (a, b, c, d) -> Doc ann Source

pPrintList :: PrettyLevel -> [(a, b, c, d)] -> Doc ann Source

(Pretty a, Pretty b, Pretty c, Pretty d, Pretty e) => Pretty (a, b, c, d, e) Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> (a, b, c, d, e) -> Doc ann Source

pPrint :: (a, b, c, d, e) -> Doc ann Source

pPrintList :: PrettyLevel -> [(a, b, c, d, e)] -> Doc ann Source

(Pretty a, Pretty b, Pretty c, Pretty d, Pretty e, Pretty f) => Pretty (a, b, c, d, e, f) Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> (a, b, c, d, e, f) -> Doc ann Source

pPrint :: (a, b, c, d, e, f) -> Doc ann Source

pPrintList :: PrettyLevel -> [(a, b, c, d, e, f)] -> Doc ann Source

(Pretty a, Pretty b, Pretty c, Pretty d, Pretty e, Pretty f, Pretty g) => Pretty (a, b, c, d, e, f, g) Source
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> (a, b, c, d, e, f, g) -> Doc ann Source

pPrint :: (a, b, c, d, e, f, g) -> Doc ann Source

pPrintList :: PrettyLevel -> [(a, b, c, d, e, f, g)] -> Doc ann 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
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJClass

Methods

pPrintPrec :: PrettyLevel -> Rational -> (a, b, c, d, e, f, g, h) -> Doc ann Source

pPrint :: (a, b, c, d, e, f, g, h) -> Doc ann Source

pPrintList :: PrettyLevel -> [(a, b, c, d, e, f, g, h)] -> Doc ann Source

newtype PrettyLevel Source

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

Constructors

prettyNormal :: PrettyLevel Source

The "normal" (Level 0) of detail.

prettyShow :: Pretty a => a -> String Source

Pretty print a value with the prettyNormal level.

prettyParen :: Bool -> Doc ann -> Doc ann Source

Deprecated: Please use maybeParens instead

Parenthesize an value if the boolean is true.

module Text.PrettyPrint.Annotated.HughesPJ

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.4.2/docs/libraries/pretty-1.1.3.6/Text-PrettyPrint-Annotated-HughesPJClass.html