Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: Notesfiles $Revision: 1.6.2.17 $; site uiucdcsb.UUCP
Path: utzoo!watmath!clyde!cbosgd!ihnp4!inuxc!pur-ee!uiucdcsb!robison
From: robison@uiucdcsb.UUCP
Newsgroups: net.arch
Subject: Re: RE: Automated Structured Analysis
Message-ID: <5600024@uiucdcsb.UUCP>
Date: Thu, 14-Feb-85 00:43:00 EST
Article-I.D.: uiucdcsb.5600024
Posted: Thu Feb 14 00:43:00 1985
Date-Received: Fri, 8-Feb-85 01:22:15 EST
References: <68@milford.UUCP>
Lines: 23
Nf-ID: #R:milford:-6800:uiucdcsb:5600024:000:913
Nf-From: uiucdcsb!robison    Feb  6 23:43:00 1985

I'm working on something similiar to a UNIX data-flow machine.

I have a pipe-like syntax for Backus' functional programming language.
I believe it does not have to run slowly on an ordinary von-Neumann machine.
All that is necessary is a good globally optimizing compiler.  This
isn't as hard as it sounds (I hope! Its my thesis!), since the FP or
pipe description is on a high enough level that the semantics aren't buried
under a lot of bit pushing.  A typical optimization that can be seen
on a high level is:

     printf ("%f",F); /* in program sourcing pipe */
     
     ...

     scanf ("%f",&F);  /* in program reading pipe */ 

Clearly the printf/scanf pair is an identity that can removed.

An advantage of FP is that the clumsy "tee" program is not necessary.
The splitting of pipes can be done with functional forms.

(Backus' FP is described in his Turing lecture in the Aug. 1978 issue of CACM)