From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id BF860BBAF for ; Thu, 15 Jul 2010 18:19:25 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AncCAErSPkzRVllDkGdsb2JhbACBRJFnjDkVAQEBAQkJDAcRAx+/OgKCdYItBIN+ X-IronPort-AV: E=Sophos;i="4.55,209,1278280800"; d="scan'208,217";a="66501716" Received: from elasmtp-scoter.atl.sa.earthlink.net ([209.86.89.67]) by mail4-smtp-sop.national.inria.fr with ESMTP; 15 Jul 2010 18:19:03 +0200 Received: from [69.254.201.214] (helo=[10.0.1.6]) by elasmtp-scoter.atl.sa.earthlink.net with esmtpa (Exim 4.67) (envelope-from ) id 1OZR9J-0007F3-Pi for caml-list@yquem.inria.fr; Thu, 15 Jul 2010 12:19:02 -0400 Mime-Version: 1.0 (Apple Message framework v753.1) In-Reply-To: References: <87sk3mcaeq.fsf@frosties.localdomain> Content-Type: multipart/alternative; boundary=Apple-Mail-4-255831113 Message-Id: <51355324-7EF9-4A10-9EB8-9365AE2D71BB@refined-audiometrics.com> From: David McClain Subject: Re: [Caml-list] Smart ways to implement worker threads Date: Thu, 15 Jul 2010 09:19:01 -0700 To: caml-list@yquem.inria.fr X-Mailer: Apple Mail (2.753.1) X-ELNK-Trace: 7a0ab3eafc8cf994b22988ad1c62733440683398e744b8a454c5cc6076e2b09a7333db504176475d2601a10902912494350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 69.254.201.214 X-Spam: no; 0.00; ocaml's:01 ocaml:01 erlang:01 ocaml's:01 ocaml:01 erlang:01 threads:01 threads:01 caml-list:01 dbm:03 dbm:03 90%:94 90%:94 implement:06 implement:06 --Apple-Mail-4-255831113 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed I have to second the motion to read and understand Reppy's fine book. However, be aware that CML was based on an architecture of spaghetti threads, where new tasks can be spawn with little or no cost, and the GC was responsible for reclaiming dead threads. That is not the same as OCaml's architecture, and so OCaml can implement about 90% of CML but that last 10% might kill your dreams. CML likes to spawn potential handlers, of which only one will get the go ahead. The others are expected to die, after possibly cleaning up state. In this regard, CML is more akin to Erlang. Dr. David McClain Chief Technical Officer Refined Audiometrics Laboratory 4391 N. Camino Ferreo Tucson, AZ 85750 email: dbm@refined-audiometrics.com phone: 1.520.390.3995 web: http://refined-audiometrics.com --Apple-Mail-4-255831113 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=US-ASCII I have to second the motion to read and understand Reppy's fine book. = However, be aware that CML was based on an architecture of spaghetti = threads, where new tasks can be spawn with little or no cost, and the GC = was responsible for reclaiming dead = threads. 

That is not the same as OCaml's = architecture, and so OCaml can implement about 90% of CML but that last = 10% might kill your dreams. CML likes to spawn potential handlers, of = which only one will get the go ahead. The others are expected to die, = after possibly cleaning up state. In this regard, CML is more akin to = Erlang.

Dr. David McClain
Chief = Technical Officer
Refined Audiometrics = Laboratory
4391 N. Camino Ferreo
Tucson, AZ  85750


=
= --Apple-Mail-4-255831113--