This parallel Tasks/Threads package ChannelBuffers implements piped streams in Julia
.
Typical usage:
curl("...file.tgz") | gunzip() | tarx("target-dir") |> run |> wait
Each job is performed in a separate task; tasks may be spawned in different threads.
Each job is implemented by a function f(cin::IO, cout::IO, args...)
, which is straight forward in the above examples.