| Stability | experimental | 
|---|---|
| Safe Haskell | None | 
| Language | Haskell2010 | 
Language.Egison.Pretty.Pattern
Contents
Description
A pretty printer for Egison patterns.
Synopsis
- prettyExpr :: (MonadError (Error n) m, Ord n) => PrintMode n v e -> Expr n v e -> m Text
- newtype Error n = UnknownInfixOperator n
- data Associativity
- newtype Precedence = Precedence Int
- data Fixity n = Fixity {- associativity :: Associativity
- precedence :: Precedence
- symbol :: n
 
- data PrintMode n v e = PrintMode {- fixities :: [PrintFixity n]
- varNamePrinter :: ExtPrinter v
- namePrinter :: ExtPrinter n
- valueExprPrinter :: ExtPrinter e
- pageMode :: Maybe PageMode
 
- data PageMode = PageMode {}
- data PrintFixity n = PrintFixity {}
- type ExtPrinter a = a -> Text
Documentation
prettyExpr :: (MonadError (Error n) m, Ord n) => PrintMode n v e -> Expr n v e -> m Text Source #
Pretty print Expr.
Re-exports
A pretty printer error.
Constructors
| UnknownInfixOperator n | 
data Associativity Source #
Associativity of infix operators.
Constructors
| AssocLeft | |
| AssocRight | |
| AssocNone | 
Instances
newtype Precedence Source #
A precedence of infix operators.
Constructors
| Precedence Int | 
Instances
Fixity of infix operators.
Constructors
| Fixity | |
| Fields 
 | |
Printer configuration.
Constructors
| PrintMode | |
| Fields 
 | |
Rendering style configuration.
Constructors
| PageMode | |
| Fields 
 | |
type ExtPrinter a = a -> Text Source #
ExtPrinter aa.