Initially I intended just to supply an addapter to use the monadic IterExplorer for this recursive expansion of GenNode contents. Investigating this approach was relevant to highlight the minimum requirements for such an evaluation mechanics: since our GenNode is an hierarchical structure without back-links, we are bound to use a stack at some point. And since an Iterator is a materialised continuation, we can not use the processor stack and are forced to represent this stack in memory. Yet, on second thought, we do not need the full power of the IterExplorer monad; especially we do not need to bind arbitrary functions into the monad, just one single scope exploring function, implemented as Variant visitor. Based on these observations, we can "inline" the monad structure into a double nested iterator, where the outer capsule carries a stack of scopes to be explored. |
||
|---|---|---|
| .. | ||
| draw | ||
| DIR_INFO | ||
| empty.html | ||
| InterfaceConcept_Varga.mm | ||
| renderengine.html | ||
| thinkPad.ichthyo.mm | ||
| uml | ||
| workflow.mm | ||