PolyFlow
PolyFlow is a flow-based programming framework. It is made to be highly asynchronous.
Nano
A nano
is an elementary component of a graph
.
var param = inputs: 'in1' 'in2' outputs: out: 'out1' /* standard output */ other: 'out1' 'out2' err: 'error' polyflow;
Graph
A graph
defines a workflow.
var graph = polyflow; graph /* named node */ label'B' ; /* ... */ graph ; graph ; var network = graph;network;
Binder
Inputs and/or outputs of nano
could be bound to something in the flow
or to a constant value. For example:
var graph = polyflow; graph /* named node */ /* ... */ graph bindinput'in1' bindinput'in2' bind /* ... */ var network = graph;network;
Shortcut
A nano
could defined a shortcut. Shortcuts are used to define a graph. For example:
var graph = polyflow; graph ; var network = graph;network;
Service
PolyFlow has a dependency injection system which allows nano
and/or service
to depend on other services
.
polyflow; polyflow; polyflow;