[plt-scheme] Re: Thinking in FP vs OOP for large scale apps

From: Gregory Cooper (greg at cs.brown.edu)
Date: Thu May 17 00:59:16 EDT 2007

I think Shriram calls a value "stateful" if it can change over time,
and a program "imperative" if it can interact with the world (which
necessarily involves side effects).  Dataflow offers a "declarative"
(i.e., functional) way of writing such programs (over these "stateful"
values), in which the side effects are (generally) implicit.

Hope that clears things up a bit.


On 5/17/07, Bill Wood <william.wood3 at comcast.net> wrote:
> On Wed, 2007-05-16 at 22:26 -0400, Shriram Krishnamurthi wrote:
>    . . .
> > default, would fall out of sync.  In these (and similar dataflow)
> > languages, the language is responsible for keeping the values in sync
> > in some semantically-sensible way, making it unobjectionable for the
> > language to permit state.  Indeed, one could say that in Flapjax and
> > FrTime, *all* programs are *always* imperative.
> This confuses me a little bit.  When I hear "dataflow" I think Val,
> Lucid and perhaps Esterel.  Isn't the dataflow (and tokenflow) model
> pretty deeply functional?  I remember reading a paper or two, from the
> mid nineties perhaps, where the authors were pretty excited about being
> able to set up shared memory as an efficiency hack for dataflow
> computations.  They had to work hard to make it work.
>  -- Bill Wood
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Posted on the users mailing list.