> Is this possible for UNIX philosophy to develop further? Let's say, > XML-coded trees or graphs instead of one-line strings in stdin/ > stdout.Or LISP S-expressions. New set of utilities for filtering such > streams, grep for XML trees, etc. Building environment for dataflow > programming from shell interpreter. > Any interesting papers exist on this topic? I worked on an undergraduate thesis last year about dataflow programming. The syntax for our language was similar to UNIX shells, but it was intended to be compiled language. For more complex datatypes, I don't think the serialization format matters very much. You could store the data in XML, S-expressions, YAML, etc. As long as you have a program/function to read each of these formats into a nested data structure you can use the same set of utilities to process any of them. For parallelism, you'll need to be able to begin outputting the data structure while the original data it is still being read in. With complex data, I'm not sure if it would be better to use a common format through a character pipe, or to use some other form of IPC where the nesting is maintained during transmission. For reference, here's a copy of my thesis: http://andy753421.ath.cx/linked/curin.pdf