This library provides pretty-printers for AnnotatedFlatCurry modules and all substructures (e.g., expressions). Note that annotations are ignored for pretty-printing.
Author: Bjoern Peemoeller
Version: October 2015
| ppProg
                  ::  AProg a -> Docpretty-print a FlatCurry module | 
| ppHeader
                  ::  String -> [TypeDecl] -> [AFuncDecl a] -> Docpretty-print the module header | 
| ppExports
                  ::  [TypeDecl] -> [AFuncDecl a] -> Docpretty-print the export list | 
| ppTypeExport
                  ::  TypeDecl -> Docpretty-print a type export | 
| ppConsExports
                  ::  [ConsDecl] -> [Doc]pretty-print the export list of constructors | 
| ppFuncExports
                  ::  [AFuncDecl a] -> [Doc]pretty-print the export list of functions | 
| ppImports
                  ::  [String] -> Docpretty-print a list of import statements | 
| ppImport
                  ::  String -> Docpretty-print a single import statement | 
| ppOpDecls
                  ::  [OpDecl] -> Docpretty-print a list of operator fixity declarations | 
| ppOpDecl
                  ::  OpDecl -> Docpretty-print a single operator fixity declaration | 
| ppFixity
                  ::  Fixity -> Docpretty-print the associativity keyword | 
| ppTypeDecls
                  ::  [TypeDecl] -> Docpretty-print a list of type declarations | 
| ppTypeDecl
                  ::  TypeDecl -> Docpretty-print a type declaration | 
| ppConsDecls
                  ::  [ConsDecl] -> Docpretty-print the constructor declarations | 
| ppConsDecl
                  ::  ConsDecl -> Docpretty print a single constructor | 
| ppTypeExp
                  ::  TypeExpr -> Docpretty a top-level type expression | 
| ppTypeExpr
                  ::  Int -> TypeExpr -> Docpretty-print a type expression | 
| ppQuantifiedVars
                  ::  [Int] -> Docpretty-print explicitly quantified type variables | 
| ppTVarIndex
                  ::  Int -> Docpretty-print a type variable | 
| ppFuncDecls
                  ::  [AFuncDecl a] -> Docpretty-print a list of function declarations | 
| ppFuncDecl
                  ::  AFuncDecl a -> Docpretty-print a function declaration | 
| ppRule
                  ::  ARule a -> Docpretty-print a function rule | 
| ppExp
                  ::  AExpr a -> Docpretty-print a top-level expression | 
| ppExpr
                  ::  Int -> AExpr a -> Docpretty-print an expression | 
| ppAVarIndex
                  ::  (Int,a) -> Docpretty-print an annotated variable | 
| ppVarIndex
                  ::  Int -> Docpretty-print a variable | 
| ppLiteral
                  ::  Literal -> Docpretty-print a literal | 
| showEscape
                  ::  Char -> StringEscape character literal | 
| ppComb
                  ::  Int -> ((String,String),a) -> [AExpr b] -> DocPretty print a constructor or function call | 
| ppDecls
                  ::  [((Int,a),AExpr b)] -> Docpretty-print a list of declarations | 
| ppDecl
                  ::  ((Int,a),AExpr b) -> Docpretty-print a single declaration | 
| ppCaseType
                  ::  CaseType -> DocPretty print the type of a case expression | 
| ppBranch
                  ::  ABranchExpr a -> DocPretty print a case branch | 
| ppPattern
                  ::  APattern a -> DocPretty print a pattern | 
| ppPrefixOp
                  ::  (String,String) -> Docpretty-print a prefix operator | 
| ppInfixOp
                  ::  (String,String) -> Docpretty-print an infix operator | 
| ppQName
                  ::  (String,String) -> DocPretty-print a qualified name | 
| isInfixOp
                  ::  (String,String) -> BoolCheck whether an operator is an infix operator | 
| isListId
                  ::  (String,String) -> BoolCheck whether an identifier represents a list | 
| isTupleId
                  ::  (String,String) -> BoolCheck whether an identifier represents a tuple | 
| indent
                  ::  Doc -> DocIndentation | 
| 
                       pretty-print a type export | 
| 
                       pretty-print the export list of constructors | 
| 
                       pretty-print the export list of functions | 
| pretty-print the associativity keyword 
 | 
| 
                       pretty-print a list of type declarations | 
| 
                       pretty-print a type declaration | 
| 
                       pretty-print the constructor declarations | 
| 
                       pretty print a single constructor | 
| 
                       pretty-print a type expression | 
| 
                       pretty-print explicitly quantified type variables | 
| 
                       pretty-print a type variable | 
| 
                       pretty-print a list of function declarations | 
| 
                       pretty-print a function declaration | 
| 
                       pretty-print an annotated variable | 
| 
                       pretty-print a variable | 
| 
                       Escape character literal | 
| 
                       Pretty print a constructor or function call | 
| 
                       Pretty print the type of a case expression 
 | 
| 
                       Pretty print a case branch | 
| 
                       pretty-print a prefix operator | 
| 
                       Check whether an operator is an infix operator | 
| 
                       Check whether an identifier represents a list | 
| 
                       Check whether an identifier represents a tuple |