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 Source #

short cut for: if b then empty else d

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

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

bracket :: BracketKind -> Doc -> Doc Source #

put proper brackets around a document

printKind :: Kind -> Doc Source #

print a Kind plus a preceding colon (or nothing)

printVarKind :: Variance -> VarKind -> Doc Source #

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

data TypePrec Source #

Instances

Instances details
Eq TypePrec Source # 
Instance details

Defined in HasCASL.PrintAs

Methods

(==) :: TypePrec -> TypePrec -> Bool

(/=) :: TypePrec -> TypePrec -> Bool

Ord TypePrec Source # 
Instance details

Defined in HasCASL.PrintAs

Methods

compare :: TypePrec -> TypePrec -> Ordering

(<) :: TypePrec -> TypePrec -> Bool

(<=) :: TypePrec -> TypePrec -> Bool

(>) :: TypePrec -> TypePrec -> Bool

(>=) :: TypePrec -> TypePrec -> Bool

max :: TypePrec -> TypePrec -> TypePrec

min :: TypePrec -> TypePrec -> TypePrec

isSimpleArgTerm :: Term -> Bool Source #

used only to produce CASL applications

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

parenTermRec :: MapRec Source #

put parenthesis around applications

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

print an equation with different symbols between pattern and term

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

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

pluralS :: [a] -> String Source #

plOps :: [Annoted OpItem] -> String Source #

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

print symbol kind

Orphan instances

Pretty SymbOrMap Source # 
Instance details

Pretty Symb Source # 
Instance details

Methods

pretty :: Symb -> Doc Source #

pretties :: [Symb] -> Doc Source #

Pretty SymbMapItems Source # 
Instance details

Pretty SymbItems Source # 
Instance details

Pretty GenVarDecl Source # 
Instance details

Pretty TypeArg Source # 
Instance details

Pretty VarDecl Source # 
Instance details

Pretty PolyId Source # 
Instance details

Pretty ProgEq Source # 
Instance details

Pretty Term Source # 
Instance details

Methods

pretty :: Term -> Doc Source #

pretties :: [Term] -> Doc Source #

Pretty TypeQual Source # 
Instance details

Pretty Quantifier Source # 
Instance details

Pretty Component Source # 
Instance details

Pretty Alternative Source # 
Instance details

Pretty DatatypeDecl Source # 
Instance details

Pretty OpAttr Source # 
Instance details

Pretty BinOpAttr Source # 
Instance details

Pretty Partiality Source # 
Instance details

Pretty TypeScheme Source # 
Instance details

Pretty Type Source # 
Instance details

Methods

pretty :: Type -> Doc Source #

pretties :: [Type] -> Doc Source #

Pretty TypePattern Source # 
Instance details

Pretty Vars Source # 
Instance details

Methods

pretty :: Vars -> Doc Source #

pretties :: [Vars] -> Doc Source #

Pretty TypeItem Source # 
Instance details

Pretty Variance Source # 
Instance details

Pretty ClassDecl Source # 
Instance details

Pretty ClassItem Source # 
Instance details

Pretty OpBrand Source # 
Instance details

Pretty SigItems Source # 
Instance details

Pretty BasicItem Source # 
Instance details

Pretty BasicSpec Source # 
Instance details

Pretty a => Pretty (AnyKind a) Source # 
Instance details

Methods

pretty :: AnyKind a -> Doc Source #

pretties :: [AnyKind a] -> Doc Source #