| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
BNFC.PrettyPrint
Description
Extends 'PrettyPrint'.
Synopsis
- module Text.PrettyPrint
- ($++$) :: Doc -> Doc -> Doc
- (<=>) :: Doc -> Doc -> Doc
- codeblock :: Int -> [Doc] -> Doc
- parensIf :: Bool -> Doc -> Doc
- prettyList :: Int -> Doc -> Doc -> Doc -> Doc -> [Doc] -> Doc
- prettyShow :: Pretty a => a -> String
- vcat' :: [Doc] -> Doc
- vsep :: [Doc] -> Doc
- class Pretty a where
- pretty :: a -> Doc
- prettyPrec :: Int -> a -> Doc
Documentation
module Text.PrettyPrint
($++$) :: Doc -> Doc -> Doc Source #
Separate vertically by a blank line.
>>>"foo" $++$ "bar"foo bar
>>>"foo" $++$ emptyfoo
(<=>) :: Doc -> Doc -> Doc Source #
Pretty print separator with = (for assignments...).
>>>"a" <=> "123"a = 123
codeblock :: Int -> [Doc] -> Doc Source #
Code block. A block of C/Java code, surrounded by {} and indented.
>>>codeblock 4 ["abc", "def"]{ abc def }
Used in the C backend.
parensIf :: Bool -> Doc -> Doc Source #
Put parens around document if given condition is true.
>>>parensIf True "foo"(foo)
>>>parensIf False "bar"bar
Arguments
| :: Int | Indentation. |
| -> Doc | Preamble. |
| -> Doc | Left parenthesis. |
| -> Doc | Right parenthesis. |
| -> Doc | Separator (usually not including spaces). |
| -> [Doc] | List item. |
| -> Doc |
Print a list of 0-1 elements on the same line as some preamble and from 2 elements on the following lines, indented.
>>>prettyList 2 ("foo" <+> equals) lbrack rbrack comma []foo = []>>>prettyList 2 ("foo" <+> equals) lbrack rbrack comma [ "a" ]foo = [a]>>>prettyList 2 ("foo" <+> equals) lbrack rbrack comma [ "a", "b" ]foo = [ a , b ]
Used in the Agda backend.
vcat' :: [Doc] -> Doc Source #
List version of $+$.
>>>vcat' [text "abc", nest 4 (text "def")]abc def
Overloaded function pretty.
Minimal complete definition