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=2.3 required=5.0 tests=AWL,DNS_FROM_RFC_POST, SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr 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 27EC9BBAF for ; Sat, 20 Dec 2008 02:40:42 +0100 (CET) X-IronPort-AV: E=Sophos;i="4.36,252,1228086000"; d="scan'208";a="32909033" Received: from concorde.inria.fr ([192.93.2.39]) by mail4-smtp-sop.national.inria.fr with ESMTP; 20 Dec 2008 02:40:42 +0100 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id mBK1efG8011074 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Sat, 20 Dec 2008 02:40:41 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArwBAAzbS0nRVdoKimdsb2JhbACTKT4BAQEKCQwHDwWqDFiEV4wSAQMBA4MBgkM X-IronPort-AV: E=Sophos;i="4.36,252,1228086000"; d="scan'208";a="20634093" Received: from mail-bw0-f10.google.com ([209.85.218.10]) by mail3-smtp-sop.national.inria.fr with ESMTP; 20 Dec 2008 02:40:40 +0100 Received: by bwz3 with SMTP id 3so3067613bwz.9 for ; Fri, 19 Dec 2008 17:40:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=v0OZVvasFaMSkDUShpuwqNbvyo4s6uciCn37WNMB1ak=; b=J8+iGV8JoIWY7vm5qKlFDH0ThFAnGwpU1+o0SLmbJ6MKr+H+Pw2U87YKM6AAcTx27j bmzAFP9+O7RFtRQF4ytfXt1xG4hEA+DZ718m+xHTFmdO9Yfyr2Mui0nTiaUuHedmW/D4 iNdXudG9ImzqoegoqosqYRaDzjE+cVGiwB91w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=ve7aLtyxuRKbngpKytoCNTrsYnlDEC7R6oKrAH4O+xiuc/vrnijEyJ8vKy1hM+Pxb8 twIib9RDWkC1v2ZVqn4AznJ5ZEH0XE11k7FwEfDxxXtfier8SXbGXN+vm7rQTkaQ5bzw pZQqxalGXUEieFU8hqnoezx4NuRGd8LDhxO0k= Received: by 10.181.193.15 with SMTP id v15mr1298941bkp.7.1229737240276; Fri, 19 Dec 2008 17:40:40 -0800 (PST) Received: by 10.181.203.8 with HTTP; Fri, 19 Dec 2008 17:40:40 -0800 (PST) Message-ID: Date: Sat, 20 Dec 2008 02:40:40 +0100 From: "=?UTF-8?Q?Mikkel_Fahn=C3=B8e_J=C3=B8rgensen?=" Sender: mikkelfj@gmail.com To: "Alexy Khrabrov" Subject: Re: [Caml-list] prelude.ml as another standard extension to Pervasives? Cc: OCaml In-Reply-To: <80E84DC1-2AA5-4011-9528-D3BCA2DC88F9@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1229719052.494c060c9d36d@webmail.in-berlin.de> <20081219212747.GA30594@annexia.org> <3a360f590812191403g504f1a5fk815cce99a4bb1101@mail.gmail.com> <20081219224750.GB350@annexia.org> <80E84DC1-2AA5-4011-9528-D3BCA2DC88F9@gmail.com> X-Google-Sender-Auth: 9c10410305cb0454 X-Miltered: at concorde with ID 494C4D19.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; mikkel:01 rgensen:01 mikkel:01 pervasives:01 cvs:01 threads:01 signatures:01 corrected:01 caml-list:01 functions:01 short:01 seems:03 library:03 library:03 concurrency:04 2008/12/20 Alexy Khrabrov : > While we're on the topic of prelude.ml, I wonder how many folks would find > it very nice to just open Prelude and have all these nice functions readily > available. Prelude looks nice, and I certainly do not want to put it down, so forgive me for my critical questions. How does Prelude handle Windows support, and would we want library components that are not cross platform? The 3pl project is cross platform if I remember correctly (short of some issues on OS-X that hopefully is corrected or is in CVS). There is also the Lwt lightweight threads library which is not multi-core. I'm just wondering of some of these efforts can be combined to a more homogenous library solution. I believe there are also other solutions in progress. Other than that, I wonder if Prelude really is a practical solution as it stands: without looking deep into it, it seems to be targeting inner loop concurrency by spawning processes, which is costly. In some cases this may be fine, such as an easy way to speed up calculating file signatures, but often you would like to have your N processes in a pool that you can tap when needed, such as handling web requests. Of course we can have different libraries for different purposes, but before including any one such library, I think it would be healthy to discuss requirements. Finally, I'm also wondering about how to tap platform specific concurrency. OS-X 10.6 will be shipping with Grand Central for concurrent support, and I'm sure there will be, or already are, similar initiatives on other platforms. Mikkel