Hets - the Heterogeneous Tool Set

Copyright(c) Christian Maeder and Uni Bremen 2003
LicenseGPLv2 or higher, see LICENSE.txt
MaintainerChristian.Maeder@dfki.de
Stabilityexperimental
Portabilityportable
Safe HaskellNone

HasCASL.PrintAs

Description

printing data types of the abstract syntax

Synopsis

Documentation

noPrint :: Bool -> Doc -> Doc

short cut for: if b then empty else d

noNullPrint :: [a] -> Doc -> Doc

semiDs :: Pretty a => [a] -> Doc

semiAnnoted :: Pretty a => [Annoted a] -> Doc

bracket :: BracketKind -> Doc -> Doc

put proper brackets around a document

printKind :: Kind -> Doc

print a Kind plus a preceding colon (or nothing)

printVarKind :: Variance -> VarKind -> Doc

print the kind of a variable with its variance and a preceding colon

isSimpleArgTerm :: Term -> Bool

used only to produce CASL applications

zipArgs :: Id -> [Term] -> [Doc] -> [Doc]

parenTermRec :: MapRec

put parenthesis around applications

printEq0 :: Doc -> (Doc, Doc) -> Doc

print an equation with different symbols between pattern and term

printList0 :: Pretty a => [a] -> Doc

don't print an empty list and put parens around longer lists

pluralS :: [a] -> String

printHead :: [[VarDecl]] -> [Doc]

printSK :: SymbKind -> [a] -> Doc

print symbol kind