soas-0.2.0: Second-Order Abstract Syntax implemented via Free Foil (a version of SOAS).
Safe HaskellNone
LanguageHaskell2010

Language.SOAS.Syntax.Print

Description

Pretty-printer for Language.

Synopsis

Documentation

printTree :: Print a => a -> String Source #

The top-level printing method.

type Doc = [ShowS] -> [ShowS] Source #

class Print a where Source #

The printer class does the job.

Methods

prt :: Int -> a -> Doc Source #

Instances

Instances details
Print MetaVarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> MetaVarIdent -> Doc Source #

Print OpIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> OpIdent -> Doc Source #

Print VarIdent Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> VarIdent -> Doc Source #

Print String Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> String -> Doc Source #

Print Integer Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Integer -> Doc Source #

Print Char Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Char -> Doc Source #

Print Double Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Double -> Doc Source #

Print (Binders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Binders' a -> Doc Source #

Print (Constraint' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Constraint' a -> Doc Source #

Print (Context' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Context' a -> Doc Source #

Print (MetaVarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> MetaVarTyping' a -> Doc Source #

Print (OpArg' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> OpArg' a -> Doc Source #

Print (OpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> OpArgTyping' a -> Doc Source #

Print (OpTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> OpTyping' a -> Doc Source #

Print (ScopedOpArgTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> ScopedOpArgTyping' a -> Doc Source #

Print (ScopedTerm' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> ScopedTerm' a -> Doc Source #

Print (ScopedType' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> ScopedType' a -> Doc Source #

Print (Subst' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Subst' a -> Doc Source #

Print (Term' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Term' a -> Doc Source #

Print (TermTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> TermTyping' a -> Doc Source #

Print (Type' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Type' a -> Doc Source #

Print (TypeBinders' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> TypeBinders' a -> Doc Source #

Print (Unifier' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> Unifier' a -> Doc Source #

Print (VarTyping' a) Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> VarTyping' a -> Doc Source #

Print [MetaVarTyping' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [MetaVarTyping' a] -> Doc Source #

Print [OpArg' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [OpArg' a] -> Doc Source #

Print [ScopedOpArgTyping' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [ScopedOpArgTyping' a] -> Doc Source #

Print [ScopedType' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [ScopedType' a] -> Doc Source #

Print [Subst' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [Subst' a] -> Doc Source #

Print [Term' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [Term' a] -> Doc Source #

Print [Type' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [Type' a] -> Doc Source #

Print [VarTyping' a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [VarTyping' a] -> Doc Source #

Print a => Print [a] Source # 
Instance details

Defined in Language.SOAS.Syntax.Print

Methods

prt :: Int -> [a] -> Doc Source #

prPrec :: Int -> Int -> Doc -> Doc Source #