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=HTML_MESSAGE autolearn=disabled version=3.1.3 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 D9FFCBBCA for ; Mon, 12 May 2008 22:33:39 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Au4BAJdGKEjRVY69d2dsb2JhbACCODOPJAEMBQIECQ8FlS6EUw X-IronPort-AV: E=Sophos;i="4.27,475,1204498800"; d="scan'208";a="12506898" Received: from ti-out-0910.google.com ([209.85.142.189]) by mail3-smtp-sop.national.inria.fr with ESMTP; 12 May 2008 22:33:38 +0200 Received: by ti-out-0910.google.com with SMTP id d27so943565tid.3 for ; Mon, 12 May 2008 13:33:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; bh=sBn/Ihanbfdc6vbhmm17eI12cTBMmd/OsmmNZnkR/oY=; b=aueBxHUzuX7KhHpt/JBjb4tHE2q1KeJuWOL2IskPBMDaPid8j9hu6IUSVix5U+ckCVkIGG57LRDAfyebHy/EsUBTo4YNLWk2Dr14R9xYJ2iHYvE6XDpzjMAXR4KVZXlLbkhbFHBGJetkK95zge0NIEowz1oz4IBkOEHsijb5nsk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=A6IIKYqkYs8+XYJeg2y76PqXof2+vsonez1kmcQUQZboWq8Y8lIsfbbFF50dVw3FG3HQFm2IrqGR/xNQohW2crYeIlnt1yYvAen8WZcF8G1WQ2QGjEi1yKkHvk6GraczD3G53lgs6479nG4HfNAE6sgyC/oeT4t72FhGboltpoQ= Received: by 10.151.108.13 with SMTP id k13mr8787209ybm.84.1210624414917; Mon, 12 May 2008 13:33:34 -0700 (PDT) Received: by 10.150.190.7 with HTTP; Mon, 12 May 2008 13:33:34 -0700 (PDT) Message-ID: <74cabd9e0805121333v6b105417r9a0c36c233492968@mail.gmail.com> Date: Mon, 12 May 2008 13:33:34 -0700 From: "Arthur Chan" To: "Jon Harrop" Subject: Re: [Caml-list] Re: Why OCaml rocks Cc: "David Teller" , caml-list@yquem.inria.fr In-Reply-To: <200805102059.54856.jon@ffconsultancy.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_2705_18453116.1210624414904" References: <200805090139.54870.jon@ffconsultancy.com> <200805091910.41381.jon@ffconsultancy.com> <1210371949.6399.62.camel@Blefuscu> <200805102059.54856.jon@ffconsultancy.com> X-Spam: no; 0.00; ocaml:01 mutable:01 stdlib:01 ocaml:01 mutable:01 stdlib:01 caml-list:01 let:03 let:03 concurrent:04 concurrent:04 chan:04 parallel:05 parallel:05 indeed:07 X-Attachments: cset="UTF-8" cset="UTF-8" ------=_Part_2705_18453116.1210624414904 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline > > > let c = Array2.zero_create am bn > Parallel.For(0, n, fun i -> > for j = 0 to n - 1 do > let mutable r = 0.0 > for k = 0 to n - 1 do > r <- r + a.[i,k] * b.[k,j] > c.[i,j] <- r) > > That is indeed a very pretty piece of code. I was wondering. The concurrent GC that the Jane St. folks are writing, will it be useable with the default stdlib that ships with ocaml, or will we have to use theirs? ------=_Part_2705_18453116.1210624414904 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline


   let c = Array2.zero_create am bn
   Parallel.For(0, n, fun i ->
     for j = 0 to n - 1 do
       let mutable r = 0.0
       for k = 0 to n - 1 do
         r <- r + a.[i,k] * b.[k,j]
       c.[i,j] <- r)


That is indeed a very pretty piece of code.  I was wondering.  The concurrent GC that the Jane St. folks are writing, will it be useable with the default stdlib that ships with ocaml, or will we have to use theirs?
------=_Part_2705_18453116.1210624414904--