Imperative Notation

rinus plasmeijer rinus@cs.kun.nl
Tue, 09 Feb 1999 13:17:36 +0100


Hoi Nick,

> Now, I know the Clean argument against Monads. Multiple environments
> preclude this in principle. Why does Clean have multiple environments? For
> concurrency purposes of course. 

No. You can have functions which manipulate severeal environments,
IOState, Arrays, Channels and so on.
So, a "do" statement would only help for somple cases.
I agee that it would be nice to have a beautiful notation to avoid
writing down environments.
We have tlaked about it, but so far no one came up with a good soultion.
So, suggestions are welcome. 

Where is *Concurrent* Clean? Anybody's guess
> ;)

We had versions for Transputers (clearly out of date) and Mac.
We have updated the version for the Mac.
You can ask Pascal (pascalrs@cs.kun.nl) for this version.
It would indeed be nice to have versions for other machines as well.
The main problem is to force the scheduling of concurrent running
functions.
It is not so easy to do this on many processors.
It is great to have it because many things can be programmed much easier
(eg non-blocking message passing).

Greetings,

Rinus