Boost logo

Boost :

From: John Max Skaller (skaller_at_[hidden])
Date: 2001-06-22 17:03:00

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)
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 :-)

John (Max) Skaller, mailto:skaller_at_[hidden]
10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850
checkout Vyper
download Interscript

Boost list run by bdawes at, gregod at, cpdaniel at, john at