Well, not quite. Now that Fog has conditionals, the main missing feature is loops.
Initial design:
Loop node -- has an arbitrary number of children. Executes those children sequentially, then repeats. Forever, unless terminated by...
Loop exit node -- references a Loop node (probably through a unique object used as a label). Has one child. Evaluates that child, then exits from the loop node, giving the result of its child as the result of the loop.
"Fog Loops, part of this balanced breakfast!"
Well, not quite. Now that Fog has conditionals, the main missing feature is loops.
Initial design: Loop node -- has an arbitrary number of children. Executes those children sequentially, then repeats. Forever, unless terminated by...
Loop exit node -- references a Loop node (probably through a unique object used as a label). Has one child. Evaluates that child, then exits from the loop node, giving the result of its child as the result of the loop.