From: Greg Colvin (gcolvin_at_[hidden])
Date: 2001-06-24 22:54:28
From: John Max Skaller <skaller_at_[hidden]>
> williamkempf_at_[hidden] wrote:
> > Other experts tell you that traditional threading systems are useless
> > except as toys.
> I'm not arguing: just reporting what someone told me.
> This is not my area of expertise at all.
> > CSP calculus is the latest in state of the art threading concepts.
> What?? CSP is really old: Hoare, 1978!!
> Milner developed CCS in 1980/1989, the pi-calculus
> followed in 1991/2 (Milner, Parrow, Walker)
> Join calculus is even more recent, and subsumes pi.
> [The date on the JoCaml distribution is 2001, I guess the
> papers are a bit older]
> If you're interested, I suggest you download
> and play with JoCaml (it also happens to support
> a distributed garbage collector, a concept of locations,
> and process mobility: mobile agents are practically builtin!)
> To give you the flavour: you might think
> that locking is a primitive thread concept. It isn't.
> Here is a JoCaml definition of a simple lock:
> # let def new_lock () =
> # let def free! () | lock () = reply
> # and unlock () = free () | reply in
> # free () | reply lock, unlock
> > > For the moment though, we can only wrap the poorly
> > > designed concepts and API's that are actually made available,
> > > providing some extra safety where possible, but otherwise
> > > leaving it up to the programmer.
> > We can do much more than this, and it is the ultimate goal.
> I agree, but it will never happen in C++. (IMHO)
Do you mean in the C++ standard?
> We'll be really lucky if the very concept of concurrent
> execution finds its way into the abstract machine.
> Anyhow: I think we agree that implementing a basic
> conventional threads library is a good thing to do :-)
Given the primitives, are there any insurmountable obstacles
to implementing join calculus in C++?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk