9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Andy Spencer <andy753421@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] dataflow programming from shell interpreter
Date: Tue, 19 Jan 2010 22:33:10 +0000	[thread overview]
Message-ID: <20100119223310.GB22431@c.hsd1.tn.comcast.net> (raw)
In-Reply-To: <c563b2f7-92ac-463a-864c-267721ddb30a@k35g2000yqb.googlegroups.com>

[-- Attachment #1: Type: text/plain, Size: 1275 bytes --]

> 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

[-- Attachment #2: Type: application/pgp-signature, Size: 205 bytes --]

  parent reply	other threads:[~2010-01-19 22:33 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-18 10:58 Tim Climber
2010-01-18 12:19 ` Steve Simon
2010-01-18 20:04   ` Tim Newsham
2010-01-19  9:59   ` Aharon Robbins
2010-01-19 15:40     ` Steve Simon
2010-01-20 21:13       ` Eris Discordia
2010-01-20 21:41         ` Patrick Kelly
2010-01-21  8:00           ` roger peppe
2010-01-21 12:45         ` maht
2010-01-21 21:36         ` Skip Tavakkolian
2010-01-22  9:44           ` Eris Discordia
2010-01-19 22:13   ` Andy Spencer
2010-01-18 16:23 ` Eric Van Hensbergen
2010-01-18 19:23 ` Aharon Robbins
2010-01-19 22:33 ` Andy Spencer [this message]
2010-01-27 10:44 ` Sam Watkins
     [not found] <c563b2f7-92ac-463a-864c-267721ddb30a@k35g2000yqb.googlegroups.co>
2010-01-18 11:15 ` erik quanstrom
     [not found] <58d8d6b4960925aab27312e0968a3e26@quintile.net>
2010-01-18 19:39 ` Eric Van Hensbergen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100119223310.GB22431@c.hsd1.tn.comcast.net \
    --to=andy753421@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).