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

Contents

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

Eq TypePrec Source # 

Methods

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

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

Ord TypePrec Source # 

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

Methods

pretty :: Symb -> Doc Source #

pretties :: [Symb] -> Doc Source #

Pretty SymbMapItems Source # 
Pretty SymbItems Source # 
Pretty GenVarDecl Source # 
Pretty TypeArg Source # 
Pretty VarDecl Source # 
Pretty PolyId Source # 
Pretty ProgEq Source # 
Pretty Term Source # 

Methods

pretty :: Term -> Doc Source #

pretties :: [Term] -> Doc Source #

Pretty TypeQual Source # 
Pretty Quantifier Source # 
Pretty Component Source # 
Pretty Alternative Source # 
Pretty DatatypeDecl Source # 
Pretty OpAttr Source # 
Pretty BinOpAttr Source # 
Pretty Partiality Source # 
Pretty TypeScheme Source # 
Pretty Type Source # 

Methods

pretty :: Type -> Doc Source #

pretties :: [Type] -> Doc Source #

Pretty TypePattern Source # 
Pretty Vars Source # 

Methods

pretty :: Vars -> Doc Source #

pretties :: [Vars] -> Doc Source #

Pretty TypeItem Source # 
Pretty Variance Source # 
Pretty ClassDecl Source # 
Pretty ClassItem Source # 
Pretty OpBrand Source # 
Pretty SigItems Source # 
Pretty BasicItem Source # 
Pretty BasicSpec Source # 
Pretty a => Pretty (AnyKind a) Source # 

Methods

pretty :: AnyKind a -> Doc Source #

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