From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 175EEBBB7 for ; Wed, 21 May 2008 10:06:23 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlIBAFV0M0iKJV+LgWdsb2JhbACSNgEBECAFnTI X-IronPort-AV: E=Sophos;i="4.27,519,1204498800"; d="scan'208";a="12858459" Received: from discorde.inria.fr ([192.93.2.38]) by mail3-smtp-sop.national.inria.fr with ESMTP; 21 May 2008 10:06:22 +0200 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m4L86MvH022932 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Wed, 21 May 2008 10:06:22 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlIBAFV0M0iKJV+LgWdsb2JhbACSNgEBECAFnTI X-IronPort-AV: E=Sophos;i="4.27,519,1204498800"; d="scan'208";a="12858455" Received: from tart.dcs.qmul.ac.uk (HELO mail.dcs.qmul.ac.uk) ([138.37.95.139]) by mail3-smtp-sop.national.inria.fr with ESMTP; 21 May 2008 10:06:22 +0200 Received: from new8-pc.dcs.qmul.ac.uk ([138.37.88.113]) by mail.dcs.qmul.ac.uk with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1JyjL2-0007bH-MP; Wed, 21 May 2008 09:06:21 +0100 Message-ID: <4833D7FC.2040605@doc.ic.ac.uk> Date: Wed, 21 May 2008 09:06:20 +0100 From: Martin Berger User-Agent: Thunderbird 1.5.0.9 (X11/20070212) MIME-Version: 1.0 To: Berke Durak , caml-list Subject: Re: [Caml-list] Re: Where's my non-classical shared memory concurrency technology? References: <200805181735.50621.jon@ffconsultancy.com> <4831686F.8010903@doc.ic.ac.uk> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-DCS-Interface-Port: 465 X-DCS-Auth-User: martinb (person) X-Miltered: at discorde with ID 4833D7FE.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; monadic:01 invoke:01 threads:01 caml-list:01 short:01 short:01 rarely:02 bugs:03 bugs:03 concurrency:04 concurrent:04 concurrency:04 size:95 anyway:05 shared:06 > In short, with monadic threads, you can safely invoke non-concurrent > code from concurrent code. (The inverse > can be dangerous - but you usually don't do this anyway since you will > end up optaining an 'a Lwt.t). In my experience that rarely works, in the sense of scaling to code of significant size. Such code must be written with the concurrency mechanism at the forefront from the start. I don't agree that event based mechanisms prevent syncronisation bugs or consistency bugs as you call them, but the issue has already been taken up by others in this thread, so I shall keep this message short. Martin