[clean-list] newbie

Fergus Henderson fjh@cs.mu.OZ.AU
Tue, 7 May 2002 18:53:27 +1000


On 07-May-2002, F.S.A.Zuurbier@inter.nl.net <F.S.A.Zuurbier@inter.nl.net> wrote:
> Jafar wrote:
> 
> > I am looking for a concurrent programming language to
> > implement some mobile agent simulation. I skimmed
> > through the pdf documents that come with the Clean
> > download, as well as the language report, but I could
> > not find anything that said directly: "Clean can be
> > used to make concurrent processes." I believe that it
> > can be done, but I would like confirmation before I go
> > about studying the language. If it can be done, what
> > is the maximum number of concurrent processes that can
> > be programmed?
> 
> 'Concurrent' has been in the name for years now. There have been attempts in
> the past to really implement this, but current versions of the language -
> outside the laboratory - don't support parallelism or even interleaved
> processing.

Note also that the "Concurrency" referred to in the name is deterministic
parallelism -- there may be more than one thing executing at the same time,
but the value computed is always the same -- not the kind of nondeterministic
concurrency where you have explicit threads which can send each other messages
that arrive in a nondeterministic order, depending on which thread happened
to get executed first, and thus possible effecting the end result.

This use of terminology is unfortunately a bit in conflict with the way
some other groups use the word "parallelism" to denote the deterministic
form, and reserve the term "concurrency" for the nondeterministic variety.

For mobile agent simulation, you might be looking for the nondeterministic
variety.  I guess it depends on what kind of simulation you are doing and
why.

-- 
Fergus Henderson <fjh@cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.