[plt-scheme] Re: Thinking in FP vs OOP for large scale apps
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.
Greg
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
>