Talk:Charts Lambda

From PublicWiki
Jump to: navigation, search

I'm tipsy, but I don't understand your example. What do the curly brackets imply?

lists of return values (by order) as functions of inputs (by name)

Thank, tis clear now.




(x : fact) [ (x : cycle, work) init

            (cycle, work : cycle, work) loop ]

So we have a node that can initialize the environment and a node that can do work recursively. We don't need any more than this to get the work itself done. As 'x' is passed to this chart the 'init' node can be computed and from those outputs the 'loop' node can be computed repeatedly.

The problem that does exist is for the final outputs. Either a third 'finish' node should be created, or the 'fact' output channel should be bound to the 'loop' node. Either method leads to a difficulty with how to signal the end of a loop; there must exist a way for 'loop' to selectively fulfill its outputs or else it must completely finish its computation before outputting results to channels.

Also possible would be matching channels up to multiple nodes. A 'finish' node could receive the same inputs as 'loop' and only output given certain conditions on the inputs, but this also seems to require selectively outputting. . .