On Sun, May 18, 2008 at 12:03 AM, Jon Harrop <jon@ffconsultancy.com> wrote:

Avoiding threads does not improve the safety of the language, it simply
degrades the capabilities of the language.

Avoiding threads is like avoiding malloc() in a C program and doing only static and stack allocation: it is cumbersome and impractical, but avoids a whole class of allocation bugs.

Similarly, avoiding threads removes concurrency bugs - while reducing the concurrency capabilities.  So it's not really improvement of safety, but rather avoidance of unsafety - a purely semantic issue.

I think we are still lacking programming language technology to integrate safe and easy-to-use shared memory concurrency in ML-like languages.  Does anyone know of anything in this area aside from transactional memory?
--
Berke