It's a common pattern to have a long chain of solids and it's
often inconvenient to use the function notion in order to do these
This adds the "|" operator to the DSL, allowing single input/output
solids to be piped left-to-right execution order
solid_1 | solid_2 | solid_3 | solid_4
This proposal uses the "|" rather than the "<<" operator used
in other workflow APIs such as Airflow & Beam.
I believe that using the bitshift operators is confusing because
the directionality of A >> B could be read as "A executes then B"
OR it can be read as "A depends on B". Inevitiably users will
then asked for the bitshift operator in the other direction
compounding the confusion. I often see Airflow DAGs specified
A >> B C << B
which I find quite difficult to understand, even in the simple cases.
Instead this just uses the Unix analogy of pipes and only allows
one direction. Everyone understands pipes as left-to-right execution
so I think this is more clear overall.