You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now to describe a process pipeline you define a JSON "hoser" file that basically defines a static graph of processes connected by links. The problem is the static nature of it prevents it from being easily used on a CLI to debug and modify the graph in real time, which could be very useful for human interfaces (and monitoring tools).
Instead, let's switch the runtime to using one, declarative language that looks like:
VAR {"name": "stdin"} # Starts unbound
VAR {"name": "stdout"}
START {"name": "grep0", "proc": "grep", "argv": ["-f", "cats"]} # Start grep process (no inputs/outputs yet)
START {"name": "grep1", "proc": "grep", "argv": ["-f", "dogs"]}
LINK {"src": "stdin", "dst": "grep0[stdin]"} # Connect inputs/outputs
LINK {"src": "grep0[stdout]", "dst": "grep1[stdin]"}
LINK {"src": "grep1[stdout]", "dst": "stdout"}
This declarative logic makes it simpler to compose programs and to extend pipelines after they've been created dynamically is also much simpler.
The text was updated successfully, but these errors were encountered:
Right now to describe a process pipeline you define a JSON "hoser" file that basically defines a static graph of processes connected by links. The problem is the static nature of it prevents it from being easily used on a CLI to debug and modify the graph in real time, which could be very useful for human interfaces (and monitoring tools).
Instead, let's switch the runtime to using one, declarative language that looks like:
This declarative logic makes it simpler to compose programs and to extend pipelines after they've been created dynamically is also much simpler.
The text was updated successfully, but these errors were encountered: