This library provides a pretty-printer for Curry interfaces.
Version: September 2024
defaultOptions
:: Options
The default options for pretty printing: show everything |
ppInterface
:: Options -> Interface -> Doc
pretty-print a Curry interface |
ppModuleIdent
:: Options -> ModuleIdent -> Doc
pretty-print a ModuleIdent |
ppImportDecl
:: Options -> IImportDecl -> Doc
pretty-print an import declaration |
ppDecl
:: Options -> IDecl -> Doc
pretty-print a declaration |
ppFunDeps
:: Options -> [FunDep] -> Doc
|
ppArity
:: Options -> Int -> Doc
pretty-print an arity |
ppPrecedence
:: Options -> Int -> Doc
pretty-print a precedence |
ppInfix
:: Options -> Infix -> Doc
pretty-print an infix declaration |
ppIdent
:: Options -> Int -> Ident -> Doc
Pretty-print an Ident. |
ppQualIdent
:: Options -> Int -> QualIdent -> Doc
pretty-print a QualIdent |
ppWithOptionalKind
:: Options -> QualIdent -> Maybe KindExpr -> Doc
pretty-print a QualIdent with an optional kind expression |
ppTypeVariable
:: Options -> Ident -> Doc
pretty-print a type variable |
ppTypeVariables
:: Options -> [Ident] -> Doc
pretty-print a list of type variables |
ppNewConstructor
:: Options -> NewConstrDecl -> Doc
pretty-print a newtype constructor declaration |
ppConstructor
:: Options -> ConstrDecl -> Doc
pretty-print a constructor declaration |
ppConstructors
:: Options -> [ConstrDecl] -> Doc
pretty-print a list of constructor declarations |
ppField
:: Options -> FieldDecl -> Doc
pretty-print a field declaration |
ppFields
:: Options -> [FieldDecl] -> Doc
pretty-print a list of field declarations |
ppModulePragma
:: Options -> ModuleIdent -> Doc
pretty-print a module pragma |
ppHiddenPragma
:: Options -> [Ident] -> Doc
pretty-print a hidden pragma |
ppMethodPragma
:: Options -> Ident -> Doc
pretty-print a method pragma |
ppType
:: Options -> Int -> TypeExpr -> Doc
pretty-print a type declaration |
ppQualType
:: Options -> QualTypeExpr -> Doc
pretty-print a QualType |
ppConstraint
:: Options -> Constraint -> Doc
pretty-print a constraint |
ppContext
:: Options -> [Constraint] -> Doc
pretty-print a context |
ppMethodDecl
:: Options -> IMethodDecl -> Doc
pretty-print a method declaration |
ppMethodDecls
:: Options -> [IMethodDecl] -> Doc
pretty-print a list of method declarations |
ppInstance
:: Options -> [TypeExpr] -> Doc
pretty-print an instance |
ppImplementation
:: Options -> (Ident,Int) -> Doc
pretty-print a method implementation |
ppImplementations
:: Options -> [(Ident,Int)] -> Doc
pretty-print a list of method implementations |
ppKindExpr
:: Options -> Int -> KindExpr -> Doc
pretty-print a kind expression |
ppMaybe
:: (a -> Doc) -> Maybe a -> Doc
HELPER FUNCTIONS pretty-print Just as normal, Nothing as empty |
isOperator
:: String -> Bool
Check if string is an operator |
lpragma
:: Doc
pretty-print "{-#" |
rpragma
:: Doc
pretty-print "-#}" |
preludeCharType
:: TypeExpr
Prelude.Char
type.
|
localCharType
:: TypeExpr
Local Char
type.
|
isInstanceOf
:: QualIdent -> IDecl -> Bool
Checks if an instance of some type class is defined for a given identifier. |
funOfApply
:: TypeExpr -> Maybe QualIdent
|
Options to influence the pretty printing of Curry interfaces.
Constructors:
Options
:: String -> [IDecl] -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Int -> Bool -> Options
Fields:
optModule
:: String
optInstances
:: [IDecl]
optQualify
:: Bool
optWithString
:: Bool
optWithArity
:: Bool
optWithHiding
:: Bool
optWithInstance
:: Bool
optWithImports
:: Bool
optWithKinds
:: Bool
optIndent
:: Int
optHelp
:: Bool
The default options for pretty printing: show everything
|
pretty-print a Curry interface |
pretty-print a ModuleIdent |
pretty-print an import declaration |
pretty-print a precedence |
pretty-print an infix declaration
|
Pretty-print an Ident. If the second argument is non-zero, operators (i.e., strings with special characters) will be enclosed in parentheses. |
pretty-print a QualIdent
|
pretty-print a QualIdent with an optional kind expression
|
pretty-print a type variable |
pretty-print a list of type variables |
pretty-print a newtype constructor declaration |
pretty-print a constructor declaration |
pretty-print a list of constructor declarations |
pretty-print a module pragma |
pretty-print a hidden pragma |
pretty-print a method pragma |
pretty-print a type declaration
|
pretty-print a QualType |
pretty-print a constraint |
pretty-print a context |
pretty-print a method declaration |
pretty-print a list of method declarations |
pretty-print an instance |
pretty-print a method implementation |
pretty-print a list of method implementations |
pretty-print a kind expression |
HELPER FUNCTIONS pretty-print Just as normal, Nothing as empty |
Check if string is an operator |
pretty-print "{-#"
|
pretty-print "-#}"
|
|
Local
|
Checks if an instance of some type class is defined for a given identifier.
This function is used to determine whether the Note that this only makes sense for type classes with a single type parameter. |
|