Corrected dax conversion (for DAX v3.3) and added a script for converting
DAX into HyperFlow's json format.
NEW continuous tasks CDataflow and CSplitter, and NEW APIs for them in
wflib and engine. Other tasks still rely on old APIs.
Input values added to signals.
A function for splitter for reading file by line.
Modified runwf script: it now can read a workflow from file, run it, and
send input signals (works for the NEW API for continuous tasks).
New task type: "continuous choice" -- works continuously,
consumes inputs, emits SOME outputs.
Continuous dataflow task can now have zero data inputs, and defined
'firingInterval' every which the task will be fired by the engine.
NEW continuous Map/Reduce workflow processing tweet streams.
New dependencies.
Run script now uses new API.
An indeterminate workflow in which one task merges and "shuffles" output
streams from several tasks.
emitSignals now can accept an array of signal instances and emit them as
separate signals.
New implementation of invokeTaskFunction (invokeTaskFunction2) which no
longer dereferences signal values but gets them as additional argument.
Also, the function now deals with multiple instances of a given signal
received at once.
Continuous tasks "cchoice" and "cdataflow" now use the fetchInputs API.
They are now capable of correctly dealing with multiple input signals
awaiting in the queues (which is demonstrated on the Twitter Map/Reduce
workflow).
Switched to redis 0.9.x
Added new implementation of sendSignal based on Lua script
Removed most prints to console.
Greatly improved performance of Dataflow task by introducine a counter
of signals currently waiting on all ports.
Changed console.log to process.stdout.write
Started implementing a new REST API with conneg (JSON + HTML for browsers)