We took "Far better than Unix Pipes with multistream+multilevel dispatch" out of the title. That's editorializing, which is not allowed in HN titles.
If you want to say what you think is important about an article, you're welcome to do so by posting a comment about that to the thread. Then your opinion is on the same level as everyone else's.
Got it. Thank You. I didnt know about this policy but basically trying to answer the question as to why one should read it/look at it. I was trying to stave off the question that this is for 'mainframe' computing and that it is dated etc
By all means please make the case in the thread about why this is interesting. And thanks for posting so many high-quality stories to Hacker News! Historical material, like this one, is particularly welcome.
whereas the key thing about this idea is that real pipes can be multidimensional
grep ”^#” dat1 | foobar
| |
| |
snafu | stitch > dat2
2. This system treats ">" as a program in itself and verifies a "program descriptor" before it trashes the next one in the pipe
3. Unix pipes give you the error code of the first stopped component in the pipeline whereas in this model you can hook up instrumentation/statistics to any stage of the pipe
Unix supports arbitrary pipe chaining - You can use pipe or mkfifo to create a series of pipes, and a version of grep that output non-matching lines to an additional file descriptor or to a named fifo to separate out the records. Fundamentally, this is a tooling issue - Unix shells expose the one-dimensional workflow well.
I have dealt with cms pipelines. It is a lot like everything ibm vs unix, over-specified, verbose and awkward. The unix pipeline is designed around making the normal case easy and straight forward. Remember unix is a game.
My only exposure to Rexx was when it (ARexx) started shipping with AmigaOS, as the preferred scripting language. It was very nice for the time, and I still kinda pine for a truly universal scripting language that has that much interop with the OS and a large number of applications for the system. It kinda provided a means to use desktop GUI apps in a manner similar to CLI programs with pipes.
12 comments
[ 1.9 ms ] story [ 39.1 ms ] threadIf you want to say what you think is important about an article, you're welcome to do so by posting a comment about that to the thread. Then your opinion is on the same level as everyone else's.
grep ”^#” dat1 | foobar > dat2
whereas the key thing about this idea is that real pipes can be multidimensional
grep ”^#” dat1 | foobar
| |
| | snafu | stitch > dat2
2. This system treats ">" as a program in itself and verifies a "program descriptor" before it trashes the next one in the pipe
3. Unix pipes give you the error code of the first stopped component in the pipeline whereas in this model you can hook up instrumentation/statistics to any stage of the pipe
mkfifo p1 cat data | tee p1 | awk '{print $5}' | sort | uniq -c | join -1 5 -2 1 -o 1.1,2,2.1,1.2,2.2,2.3 - p1
https://github.com/flonatel/pipexec