> re not reinventing the wheel, you might want to look into the es > shell. I think this is what erik alluded to earlier - I've never used > it myself but I understand it is extremely programmable, to the point > where you can redefine the pipe operator for example.
; %pipe {echo true} 1 0 cat true ; fn %pipe {echo $* ; $&pipe $*}; echo fu | cat {echo fu} 1 0 {cat} fu - erik