language-Modula2-0.1.4: Parser, pretty-printer, and more for the Modula-2 programming language
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Modula2.ISO.Pretty

Description

This module exports the instances of the Pretty type class necessary for printing of an ISO Modula-2 abstract syntax tree.

Orphan instances

Oberon Language Source # 
Instance details

Associated Types

type WithAlternative Language = (x :: Type -> (Type -> Type) -> (Type -> Type) -> Type) #

Methods

moduleUnit :: forall f l' (f' :: Type -> Type). Ident -> [Import Language] -> f (Block l' l' f' f') -> Module Language l' f' f #

moduleImport :: Maybe Ident -> Ident -> Import Language #

qualIdent :: Ident -> Ident -> QualIdent Language #

getQualIdentNames :: QualIdent Language -> Maybe (Ident, Ident) #

exported :: Ident -> IdentDef Language #

forwardDeclaration :: forall l' f (f' :: Type -> Type). IdentDef l' -> Maybe (f (FormalParameters l' l' f' f')) -> Declaration Language l' f' f #

procedureHeading :: forall l' f (f' :: Type -> Type). Bool -> IdentDef l' -> Maybe (f (FormalParameters l' l' f' f')) -> ProcedureHeading Language l' f' f #

arrayType :: forall f l' (f' :: Type -> Type). [f (ConstExpression l' l' f' f')] -> f (Type l' l' f' f') -> Type Language l' f' f #

recordType :: forall l' f (f' :: Type -> Type). Maybe (BaseType l') -> [f (FieldList l' l' f' f')] -> Type Language l' f' f #

withStatement :: forall f l' (f' :: Type -> Type). f (WithAlternative l' l' f' f') -> Statement Language l' f' f #

withAlternative :: forall l' f (f' :: Type -> Type). QualIdent l' -> QualIdent l' -> f (StatementSequence l' l' f' f') -> WithAlternative Language l' f' f #

is :: forall f l' (f' :: Type -> Type). f (Expression l' l' f' f') -> QualIdent l' -> Expression Language l' f' f #

set :: forall f l' (f' :: Type -> Type). [f (Element l' l' f' f')] -> Expression Language l' f' f #

typeGuard :: forall f l' (f' :: Type -> Type). f (Designator l' l' f' f') -> QualIdent l' -> Designator Language l' f' f #

(Pretty (Precedence (Expression l l Identity Identity)), Pretty (Expression l l Identity Identity), Pretty (Value l l Identity Identity), Pretty (Element l l Identity Identity), Pretty (Item l l Identity Identity), Pretty (Designator l l Identity Identity), Pretty (QualIdent l)) => Pretty (Precedence (Expression Language l Identity Identity)) Source # 
Instance details

(Pretty (QualIdent l), Pretty (Designator l l Identity Identity), Pretty (Expression l l Identity Identity)) => Pretty (Designator Language l Identity Identity) Source # 
Instance details

(Pretty (IdentDef l), Pretty (QualIdent l), Pretty (Type l l Identity Identity), Pretty (Value l l Identity Identity), Pretty (FieldList l l Identity Identity), Pretty (Variant l l Identity Identity)) => Pretty (FieldList Language l Identity Identity) Source # 
Instance details

Pretty (ConstExpression l l Identity Identity) => Pretty (AddressedIdent l l Identity Identity) Source # 
Instance details

(Pretty (Declaration l l Identity Identity), Pretty (StatementSequence l l Identity Identity)) => Pretty (Block λ l Identity Identity) Source # 
Instance details

Methods

pretty :: Block λ l Identity Identity -> Doc ann #

prettyList :: [Block λ l Identity Identity] -> Doc ann #

(Pretty (Precedence (Expression l l Identity Identity)), Pretty (Expression l l Identity Identity), Pretty (Value l l Identity Identity), Pretty (Element l l Identity Identity), Pretty (Item l l Identity Identity), Pretty (Designator l l Identity Identity), Pretty (QualIdent l)) => Pretty (Expression Language l Identity Identity) Source # 
Instance details

Pretty (Expression l l Identity Identity) => Pretty (Item Language l Identity Identity) Source # 
Instance details

(Pretty (ConstExpression l l Identity Identity), Pretty (Designator l l Identity Identity), Pretty (Case l l Identity Identity), Pretty (ConditionalBranch l l Identity Identity), Pretty (WithAlternative l l Identity Identity), Pretty (StatementSequence l l Identity Identity)) => Pretty (Statement Language l Identity Identity) Source # 
Instance details

(Pretty (IdentDef l), Pretty (FormalParameters l l Identity Identity), Pretty (FieldList l l Identity Identity), Pretty (ConstExpression l l Identity Identity), Pretty (Type l l Identity Identity), Pretty (BaseType l)) => Pretty (Type Language l Identity Identity) Source # 
Instance details

(Pretty (CaseLabels l l Identity Identity), Pretty (FieldList l l Identity Identity)) => Pretty (Variant λ l Identity Identity) Source # 
Instance details

Methods

pretty :: Variant λ l Identity Identity -> Doc ann #

prettyList :: [Variant λ l Identity Identity] -> Doc ann #

Pretty (Value l l Identity Identity) => Pretty (Value Language l Identity Identity) Source # 
Instance details

(Nameable l, Pretty (IdentDef l), Pretty (Export l), Pretty (Import l), Pretty (Type l l Identity Identity), Pretty (Declaration l l Identity Identity), Pretty (Expression l l Identity Identity), Pretty (FormalParameters l l Identity Identity), Pretty (ProcedureHeading l l Identity Identity), Pretty (Block l l Identity Identity)) => Pretty (Declaration 'False Language l Identity Identity) Source # 
Instance details

(Nameable l, Pretty (IdentDef l), Pretty (Export l), Pretty (Import l), Pretty (AddressedIdent l l Identity Identity), Pretty (Type l l Identity Identity), Pretty (Declaration l l Identity Identity), Pretty (Expression l l Identity Identity), Pretty (FormalParameters l l Identity Identity), Pretty (ProcedureHeading l l Identity Identity), Pretty (Block l l Identity Identity)) => Pretty (Declaration 'True Language l Identity Identity) Source # 
Instance details