Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.Sifflet.ExprTree
- type ExprTree = Tree ExprNode
- data ExprNode = ENode ExprNodeLabel EvalResult
- data ExprNodeLabel
- exprNodeIoletCounter :: Env -> [ArgSpec] -> IoletCounter ExprNode
- exprToTree :: Expr -> ExprTree
- treeToExpr :: ExprTree -> SuccFail Expr
- exprToReprTree :: Expr -> Tree String
- evalTree :: ExprTree -> Env -> ExprTree
- unevalTree :: ExprTree -> ExprTree
Documentation
type ExprTree = Tree ExprNode Source
EXPRESSION TREES For pure Sifflet, so not defined for extended expressions.
Constructors
ENode ExprNodeLabel EvalResult |
data ExprNodeLabel Source
Constructors
NUndefined | |
NSymbol Symbol | |
NBool Bool | |
NChar Char | |
NNumber Number | |
NString String | |
NList [Expr] |
Instances
exprNodeIoletCounter :: Env -> [ArgSpec] -> IoletCounter ExprNode Source
Counts the number of inlets and outlets for an ExprNode
exprToTree :: Expr -> ExprTree Source
treeToExpr :: ExprTree -> SuccFail Expr Source
Convert an expression tree (back) to an expression It will not give back the *same* expression in the case of an EList.
exprToReprTree :: Expr -> Tree String Source
unevalTree :: ExprTree -> ExprTree Source