Copyright | (C) 2015 Richard Eisenberg |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Richard Eisenberg (rae@cs.brynmawr.edu) |
Stability | experimental |
Safe Haskell | Safe |
Language | Haskell2010 |
Pretty-printing expressions. This allows reduction of code duplication between unchecked and checked expressions.
- class Pretty exp => PrettyExp exp where
- defaultPretty :: PrettyExp exp => exp -> Doc
- data Coloring
- defaultColoring :: Coloring
- prettyVar :: Coloring -> Int -> Doc
- prettyLam :: PrettyExp exp => Coloring -> Prec -> Maybe Ty -> exp -> Doc
- prettyApp :: (PrettyExp exp1, PrettyExp exp2) => Coloring -> Prec -> exp1 -> exp2 -> Doc
- prettyArith :: (PrettyExp exp1, PrettyExp exp2) => Coloring -> Prec -> exp1 -> ArithOp ty -> exp2 -> Doc
- prettyIf :: (PrettyExp exp1, PrettyExp exp2, PrettyExp exp3) => Coloring -> Prec -> exp1 -> exp2 -> exp3 -> Doc
- prettyFix :: PrettyExp exp => Coloring -> Prec -> exp -> Doc
Documentation
defaultColoring :: Coloring Source #
A Coloring
for an empty context
prettyLam :: PrettyExp exp => Coloring -> Prec -> Maybe Ty -> exp -> Doc Source #
Print a lambda expression
prettyApp :: (PrettyExp exp1, PrettyExp exp2) => Coloring -> Prec -> exp1 -> exp2 -> Doc Source #
Print an application
prettyArith :: (PrettyExp exp1, PrettyExp exp2) => Coloring -> Prec -> exp1 -> ArithOp ty -> exp2 -> Doc Source #
Print an arithemtic expression