Copyright | (c) Christian Maeder and Uni Bremen 2003 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | Christian.Maeder@dfki.de |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
printing data types of the abstract syntax
- noPrint :: Bool -> Doc -> Doc
- noNullPrint :: [a] -> Doc -> Doc
- semiDs :: Pretty a => [a] -> Doc
- semiAnnoted :: Pretty a => [Annoted a] -> Doc
- varOfTypeArg :: TypeArg -> Id
- bracket :: BracketKind -> Doc -> Doc
- printKind :: Kind -> Doc
- printVarKind :: Variance -> VarKind -> Doc
- data TypePrec
- parenPrec :: TypePrec -> (TypePrec, Doc) -> Doc
- printTypeToken :: Token -> Doc
- printTypeId :: Id -> Doc
- toMixType :: Type -> (TypePrec, Doc)
- printTypeScheme :: PolyId -> TypeScheme -> Doc
- isSimpleTerm :: Term -> Bool
- isSimpleArgTerm :: Term -> Bool
- hasRightQuant :: Term -> Bool
- zipArgs :: Id -> [Term] -> [Doc] -> [Doc]
- isPatVarDecl :: VarDecl -> Bool
- parenTermDoc :: Term -> Doc -> Doc
- printTermRec :: FoldRec Doc (Doc, Doc)
- printTerm :: Term -> Doc
- rmTypeRec :: MapRec
- rmSomeTypes :: Term -> Term
- parenTermRec :: MapRec
- parenTerm :: Term -> Term
- printEq0 :: Doc -> (Doc, Doc) -> Doc
- printGenVarDecls :: [GenVarDecl] -> Doc
- sameType :: GenVarDecl -> GenVarDecl -> Bool
- printVarDeclType :: Type -> Doc
- printList0 :: Pretty a => [a] -> Doc
- plClass :: [Annoted ClassItem] -> Bool
- pluralS :: [a] -> String
- isDatatype :: SigItems -> Bool
- plTypes :: [Annoted TypeItem] -> String
- plOps :: [Annoted OpItem] -> String
- isSimpleTypeItem :: TypeItem -> Bool
- isSimpleTypePat :: TypePattern -> Bool
- isSimpleType :: Type -> Bool
- printItScheme :: [PolyId] -> Bool -> TypeScheme -> Doc
- printHead :: [[VarDecl]] -> [Doc]
- prettyOpItem :: Bool -> OpItem -> Doc
- printSK :: SymbKind -> [a] -> Doc
Documentation
noNullPrint :: [a] -> Doc -> Doc
semiAnnoted :: Pretty a => [Annoted a] -> Doc
varOfTypeArg :: TypeArg -> Id
bracket :: BracketKind -> Doc -> Doc
put proper brackets around a document
printVarKind :: Variance -> VarKind -> Doc
print the kind of a variable with its variance and a preceding colon
printTypeToken :: Token -> Doc
printTypeId :: Id -> Doc
printTypeScheme :: PolyId -> TypeScheme -> Doc
isSimpleTerm :: Term -> Bool
isSimpleArgTerm :: Term -> Bool
used only to produce CASL applications
hasRightQuant :: Term -> Bool
isPatVarDecl :: VarDecl -> Bool
parenTermDoc :: Term -> Doc -> Doc
printTermRec :: FoldRec Doc (Doc, Doc)
rmSomeTypes :: Term -> Term
put parenthesis around applications
printEq0 :: Doc -> (Doc, Doc) -> Doc
print an equation with different symbols between pattern and term
printGenVarDecls :: [GenVarDecl] -> Doc
sameType :: GenVarDecl -> GenVarDecl -> Bool
printVarDeclType :: Type -> Doc
printList0 :: Pretty a => [a] -> Doc
don't print an empty list and put parens around longer lists
isDatatype :: SigItems -> Bool
isSimpleTypeItem :: TypeItem -> Bool
isSimpleTypePat :: TypePattern -> Bool
isSimpleType :: Type -> Bool
printItScheme :: [PolyId] -> Bool -> TypeScheme -> Doc
prettyOpItem :: Bool -> OpItem -> Doc