Compiled: Wed Dec 05 00:01:33 PST 2012 from source file: ./frege/lib/PP.fr
Package Documentation
Courtesy of Philip Wadler.
This is a port of Prof. Philip Wadlers pretty printer library to Frege. For more info see "http://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf"
Table of Content
Imports
-
data DOCUMENT
-
Constructors
-
APPEND DOCUMENT DOCUMENT
-
-
GROUP DOCUMENT DOCUMENT
-
-
LINE
-
-
NEST Int DOCUMENT
-
-
NONE
-
-
TEXT (String)
-
-
data Doc
-
Constructors
-
Line Int Doc
-
-
None
-
-
Text (String) Doc
-
-
<+/> :: DOCUMENT -> DOCUMENT -> DOCUMENT
-
join two documents with intervening space or stack them
-
<+> :: DOCUMENT -> DOCUMENT -> DOCUMENT
-
two documents with intervening space
-
</> :: DOCUMENT -> DOCUMENT -> DOCUMENT
-
two documents stacked
-
<> :: DOCUMENT -> DOCUMENT -> DOCUMENT
-
-
<~/> :: DOCUMENT -> DOCUMENT -> DOCUMENT
-
join two documents without intervening space or stack them
-
be :: Int -> Int -> [(Int, DOCUMENT)] -> Doc
-
-
best :: Int -> Int -> DOCUMENT -> Doc
-
-
better :: Int -> Int -> Doc -> Doc -> Doc
-
-
block :: String -> DOCUMENT -> String -> DOCUMENT
-
-
bracket :: String -> DOCUMENT -> String -> DOCUMENT
-
-
copy :: Int -> α -> [α]
-
-
fill :: [DOCUMENT] -> DOCUMENT
-
-
fits :: Int -> Doc -> Bool
-
-
flatten :: DOCUMENT -> DOCUMENT
-
-
folddoc :: (DOCUMENT->DOCUMENT->DOCUMENT) -> [DOCUMENT] -> DOCUMENT
-
-
group :: DOCUMENT -> DOCUMENT
-
-
layout :: Doc -> String
-
-
line :: DOCUMENT
-
-
nest :: Int -> DOCUMENT -> DOCUMENT
-
-
nil :: DOCUMENT
-
-
pretty :: Int -> DOCUMENT -> String
-
-
sep :: String -> [DOCUMENT] -> DOCUMENT
-
like fill, but with separator between items
-
spread :: [DOCUMENT] -> DOCUMENT
-
some documents with space inbetween
-
stack :: [DOCUMENT] -> DOCUMENT
-
some documents stacked
-
text :: String -> DOCUMENT
-
-
tight :: String -> [DOCUMENT] -> DOCUMENT
-
like sep, but no space after separator
-
version :: Int
-
This is $Revision$
-
(DOCUMENT->DOCUMENT->DOCUMENT) -> [DOCUMENT] -> DOCUMENT
-
folddoc
-
String -> [DOCUMENT] -> DOCUMENT
-
sep, tight
-
String -> DOCUMENT -> String -> DOCUMENT
-
block, bracket
-
String -> Doc -> Doc
-
Doc.Text
-
String -> DOCUMENT
-
text, DOCUMENT.TEXT
-
[DOCUMENT] -> DOCUMENT
-
fill, spread, stack
-
DOCUMENT -> DOCUMENT -> DOCUMENT
-
<+/>, <+>, </>, <>, <~/>, DOCUMENT.GROUP, DOCUMENT.APPEND
-
DOCUMENT -> DOCUMENT
-
flatten, group
-
Doc -> String
-
layout
-
Int -> DOCUMENT -> String
-
pretty
-
Int -> DOCUMENT -> DOCUMENT
-
nest, DOCUMENT.NEST
-
Int -> Doc -> Doc
-
Doc.Line
-
Int -> Doc -> Bool
-
fits
-
Int -> Int -> [(Int, DOCUMENT)] -> Doc
-
be
-
Int -> Int -> DOCUMENT -> Doc
-
best
-
Int -> Int -> Doc -> Doc -> Doc
-
better
-
DOCUMENT
-
line, nil, DOCUMENT.LINE, DOCUMENT.NONE
-
Doc
-
Doc.None
-
Int
-
version
-
Int -> α -> [α]
-
copy
