From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id NAA29035; Thu, 29 Jan 2004 13:20:46 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id NAA28887 for ; Thu, 29 Jan 2004 13:20:45 +0100 (MET) Received: from alex.baretta.com ([213.255.109.130]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id i0TCKiv08080 for ; Thu, 29 Jan 2004 13:20:44 +0100 (MET) Received: from baretta.com (localhost.localdomain [127.0.0.1]) by alex.baretta.com (8.12.8/8.12.8) with ESMTP id i0TCKfWu003417; Thu, 29 Jan 2004 13:20:52 +0100 Message-ID: <4018FA99.5020008@baretta.com> Date: Thu, 29 Jan 2004 13:20:41 +0100 From: Alex Baretta User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Martin Berger , ocaml Subject: Re: [Caml-list] ocaml and concurrency References: <20040127063230.GA12482@inv_machine> <200401282326.i0SNQntl004612@bismarck-chet.watson.ibm.com> <97908806-5238-11D8-8975-000393B8133A@wetware.com> <4018E282.2040404@dcs.qmul.ac.uk> In-Reply-To: <4018E282.2040404@dcs.qmul.ac.uk> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Loop: caml-list@inria.fr X-Spam: no; 0.00; baretta:01 baretta:01 caml-list:01 ocaml's:01 passing:01 liveness:01 expressive:01 orthogonal:01 implemented:01 abstraction:01 passing:01 ifk:99 grave:01 ocaml:01 ocaml:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Martin Berger wrote: > i wonder why. ocaml essentially offers the same approaches to > concurrency as do the relevant java or C/C++ libraries. > as far as i can see, there's nothing in Ocaml's approach to shared > memory concurrency that would prevent deadlocks or lack of mutual > exclusion, and there's nothing that prevents the usual problems > with message passing, like lack of liveness. you do have more expressive > types in Ocaml, but that is orthogonal to concurrency. > > martin You are right. No tool can save you from deadlocks or races in a concurrent environment. The properties of being free from deadlocks and free from races depend on the characteristics of the distributed algorithm implemented by the program, not by the multithreading/multiprocessing abstraction facilities in the language. Yet, it is immensely better to to write concurrent software in a purely functional style with a garbage collected language, while taking advantage of a functional message passing library. Ifk you really have to dig your own grave, get yourself a Caterpillar. Alex ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners