[Caml-list] Where's my non-classical shared memory concurrency technology?

2008-05-18 Thread Berke Durak
On Sun, May 18, 2008 at 12:03 AM, Jon Harrop [EMAIL PROTECTED] 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
___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


[Caml-list] ANNOUNCE: bitmatch 1.0

2008-05-18 Thread Richard Jones
I'm pleased to announce the first stable release of bitmatch, version 1.0.

We have a NEW home page:

  http://code.google.com/p/bitmatch/

Bitmatch adds Erlang-style bitstring matching and construction syntax
to OCaml.  It makes parsing binary files, formats and protocols
exceptionally simple.  It has numerous features including 1-64 bit
integers, strings, efficient subsets of bitstrings, big- and little-
endianness, signed and unsigned types, variable-width fields, and
fields with arbitrary bit-level alignment.

You might also want to check out our tool virt-df which uses bitmatch
to parse a wide variety of disk formats:

  http://et.redhat.com/~rjones/virt-df/

The source code for the diskimage library is a good place to see
bitmatch in real world usage:

  
http://hg.et.redhat.com/virt/applications/virt-df--devel?cmd=manifest;manifest=64ac2a858070b95bc02445b9bb966786e84bebe7;path=/lib/

Bitmatch is available under the GNU LGPL version 2 or later with the
usual OCaml linking exception.

Rich.

-- 
Richard Jones
Red Hat

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


[Caml-list] Re: Where's my non-classical shared memory concurrency technology?

2008-05-18 Thread Jon Harrop
On Sunday 18 May 2008 09:39:15 Berke Durak wrote: On Sun, May 18, 2008 at 
12:03 AM, Jon Harrop [EMAIL PROTECTED] 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...

Are you sure? Can you not still have two agents mutually waiting on each other 
for a message (a deadlock) or messages not being ordered before consumption 
(a race condition)?

I don't believe you have removed any concurrency bugs. I think you just pushed 
them around a bit.

 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?

Data parallelism in Microsoft's Task Parallel Library. I have no use for STM 
myself.

-- 
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?e

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs