| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Syntactic.Interpretation.Render
Contents
Synopsis
- class Render dom where
- renderSymDefault :: Semantic expr => expr a -> String
- renderArgsDefault :: Semantic expr => [String] -> expr a -> String
- render :: forall dom a. Render dom => ASTF dom a -> String
- class Render dom => StringTree dom where
- stringTree :: forall dom a. StringTree dom => ASTF dom a -> Tree String
- showAST :: StringTree dom => ASTF dom a -> String
- drawAST :: StringTree dom => ASTF dom a -> IO ()
- writeHtmlAST :: StringTree sym => FilePath -> ASTF sym a -> IO ()
Documentation
class Render dom where Source #
Render a symbol as concrete syntax. A complete instance must define at least the renderSym
method.
Methods
renderSym :: dom sig -> String Source #
Show a symbol as a String
renderArgs :: [String] -> dom sig -> String Source #
Render a symbol given a list of rendered arguments
renderSym :: Semantic dom => dom sig -> String Source #
Show a symbol as a String
Instances
| Render Semantics Source # | |
| Render Empty Source # | |
| Render Tuple Source # | |
| Render Select Source # | |
| Render Literal Source # | |
| Render Identity Source # | |
| Render Construct Source # | |
| Render Condition Source # | |
| Render Let Source # | |
| Render Lambda Source # | |
| Render Variable Source # | |
| Render Node Source # | |
| Monad m => Render (MONAD m) Source # | |
| (Render expr1, Render expr2) => Render (expr1 :+: expr2) Source # | |
| Render dom => Render (dom :|| pred) Source # | |
| Render dom => Render (dom :| pred) Source # | |
| Render expr => Render (Decor info expr) Source # | |
| Render dom => Render (SubConstr1 c dom p) Source # | |
Defined in Language.Syntactic.Constraint Methods renderSym :: SubConstr1 c dom p sig -> String Source # renderArgs :: [String] -> SubConstr1 c dom p sig -> String Source # | |
| Render dom => Render (SubConstr2 c dom pa pb) Source # | |
Defined in Language.Syntactic.Constraint Methods renderSym :: SubConstr2 c dom pa pb sig -> String Source # renderArgs :: [String] -> SubConstr2 c dom pa pb sig -> String Source # | |
renderArgsDefault :: Semantic expr => [String] -> expr a -> String Source #
Default implementation of renderArgs
render :: forall dom a. Render dom => ASTF dom a -> String Source #
Render an expression as concrete syntax
class Render dom => StringTree dom where Source #
Convert a symbol to a Tree of strings
Methods
stringTreeSym :: [Tree String] -> dom a -> Tree String Source #
Convert a symbol to a Tree given a list of argument trees
Instances
stringTree :: forall dom a. StringTree dom => ASTF dom a -> Tree String Source #
Convert an expression to a Tree of strings
writeHtmlAST :: StringTree sym => FilePath -> ASTF sym a -> IO () Source #