My toy lisp interpreter from a couple of years ago had a pretty neat (in all modesty) implementation of infix operations that permitted Clojure's threading macro[1] to be infix: http://akkartik.name/post/wart
[1] OP is really about the threading macro rather than unix pipes, since the latter also does concurrency and flow-control really well.
Now that you mention concurrency and flow-control in the context of these macros, it seems a little weird to me that we have "threading macros" that really are about weaving expressions together rather than concurrency/threading.