[plt-scheme] Functional vs Imperative Parallel Programming

From: Noel Welsh (noelwelsh at gmail.com)
Date: Wed Feb 18 17:25:19 EST 2009

The main architectures for parallel programming in functional languages are:

 - message passing
 - transactional memory
 - dataflow

The first one come built into PLT Scheme. Check the documentation for
channels. There isn't a transactional memory library that I'm aware
of, though it is quite easy to build one. You'll probably want to
check out the STM work in Haskell. Dataflow languages are represented
by functional reactive programming. For this, check out FrTime, which
comes with PLT.

Others will probably disagree with my taxonomy, so you'll probably
find other stuff as well. I have ignored implicit parallelism, for


On Wed, Feb 18, 2009 at 2:13 PM, Carnell, James E
<jecarnell at saintfrancis.com> wrote:
> I am asking a question way beyond where I am at as a programmer. I
> didn't know what imperative and functional programming was until I
> started reading about it last night (I have a degree in MIS too?). I am
> starting to get interested in parallel programming and after reading
> about functional programming it seems that functional programming would
> be easier on the patience and programming skills of a parallel
> programmer. I know there probably isn't a quick answer, but that was my
> guess.

Posted on the users mailing list.