DynamicDataProxy
The DynamicDataProxyNode is an experimental ProxyNode that can transform Values attached to Atoms flowing through it. It is intended to be used to attach a FormulaStream or a FutureStream to Atoms that come through the Proxy. By attaching streams, the Values can be recomputed on the fly, with the latest data.
The current experimental setting is that this will be used with Link Grammar, to recompute costs, based on what the AtomSpace currently knows about some word or phrase. Costs are used by LG to provide parse-ranking: to identify the most-likely parse, or the most-likely meaning for a word.
This has become an issue, as the only other way to handle this is with batches, or sleep-wake cycles. In this mode, the learning agent accumulates data while it is "awake", and then performs bulk recomputations while it is "asleep". This might seem very cutely anthropomorphic, but is rather painful to manage and automate. By working with dynamic data, the need for a sleep cycle can be minimized or avoided. In short, it allows the agent to make use of stuff right now, that was learned earlier in the day, without having to take a nap, first.
Detailed documentation TBD. It works. Not sure if its in the correct final form.