The gist—as I understand it—is that Unix programs are essentially all equivalent to functions : ([String], TextStream) -> (TextStream, TextStream) which limits how one can tie them together and causes a proliferation of text-processing tools (awk, sed, grep, cut, &c &c) which is not as elegant as functional programming. There are already some Unix command-line tools that work on structured data as mentioned, e.g. jsawk[1] is a tool inspired by awk whose scripting language is JavaScript and which works on JSON.<p>As an aside, I'd like to see people experiment with these concepts on an OS level while consciously targeting Xen or other virtualization systems. Already, Haskell can run barebones on Xen using HaLVM[2] and the successor to Plan 9, Inferno[3], <i>was</i> a virtual machine that could run either on bare metal or inside another OS. I can imagine an entirely new OS would meet some resistance—like Plan 9 did—but supplying an OS <i>intended</i> to be virtualized would let people experiment freely within their existing OS.<p>[1]: <a href="https://github.com/micha/jsawk" rel="nofollow">https://github.com/micha/jsawk</a>
[2]: <a href="http://halvm.org/wiki/" rel="nofollow">http://halvm.org/wiki/</a>
[3]: <a href="http://code.google.com/p/inferno-os/" rel="nofollow">http://code.google.com/p/inferno-os/</a>