Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Where's my non-classical shared memory concurrency technology?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-05-20 (21:32)
From: David Teller <David.Teller@u...>
Subject: Re: [Caml-list] Re: Where's my non-classical shared memory concurrency technology?
IIRC, there are already type systems which may prevent deadlocks in
pi-calculus. And since pi-calculus is essentially the base for
CML/OCaml's Event/lwt (I'm not 100% sure for lwt), my guess is that it
shouldn't be too hard to get them to work for purely functional threaded
code. The missing step would be to detect whether code is purely
functional, which is a rather easy task (if tedious). 

The alternative to that missing step would be to detect whether
impurities are localized to each thread -- something which I believe
would also be quite feasible, provided you limit side-effects to the use
of a well-defined, thread-local, API.


On Tue, 2008-05-20 at 00:24 +0200, Berke Durak wrote:
> Given that shared, mutable global state accessed with multiple threads
> is a recipe for bugs that no amount of data hiding can solve (because
> -locking-sections-don't-compose-),
> did anyone invent and implement a usable type or other system for
> making concurrency
> and parallelism safe?
> If the answer is STM, please show me some non-trivial application that
> uses it, preferably
> in an impure language.
David Teller
 Security of Distributed Systems
 Angry researcher: French Universities need reforms, but the LRU act
brings liquidations.