Safe Haskell | None |
---|---|
Language | Haskell2010 |
- 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.
functoidName :: Functoid -> String Source
functoidArgNames :: Functoid -> [String] Source
functoidHeader :: 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).
flayout :: Style -> Functoid -> Env -> Maybe [Value] -> FunctoidLayout Source
Graphically lay out the Functoid. mvalues: Nothing implies an uncalled frame, Just values implies a called frame, even with 0 arguments.
flayoutBBox :: FunctoidLayout -> BBox Source
flayoutSize :: FunctoidLayout -> Size Source
flayoutWiden :: FunctoidLayout -> Double -> FunctoidLayout Source