| Safe Haskell | Safe-Infered | 
|---|
Sifflet.Data.Functoid
- data  Functoid 
- = FunctoidParts { }
 - | FunctoidFunc { }
 
 - functoidName :: Functoid -> String
 - functoidArgNames :: Functoid -> [String]
 - functoidHeader :: Functoid -> String
 - data FunctoidLayout
 - flayout :: Style -> Functoid -> Env -> Maybe [Value] -> FunctoidLayout
 - flayoutBBox :: FunctoidLayout -> BBox
 - flayoutSize :: FunctoidLayout -> Size
 - flayoutWidth :: FunctoidLayout -> Double
 - flayoutBottom :: FunctoidLayout -> Double
 - flayoutWiden :: FunctoidLayout -> Double -> FunctoidLayout
 
Documentation
A Functoid is either a FunctoidParts, representing a partially defined function, or a (completely defined) Function. A FunctoidParts represents an incompletely defined function, which has a function name, argument names, and a list of graph nodes representing the function body which might not yet form a complete expression tree, e.g., nodes might be unconnected.
Constructors
| FunctoidParts | |
| FunctoidFunc | |
functoidName :: Functoid -> StringSource
functoidArgNames :: Functoid -> [String]Source
data FunctoidLayout Source
What is a FunctoidLayout? You can think of it as a tree layout for a Frame, or for a Functoid, or as a Forest of Tree Layouts! For an Edit frame, it must be a forest, since the nodes are not yet necessarily connected into a tree. For a call frame, it will be a single TreeLayout (singleton list).
Constructors
| FLayoutTree (TreeLayout ExprNode) | |
| FLayoutForest [TreeLayout ExprNode] BBox | 
Instances