From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 294EFBBAF for ; Sun, 3 Jan 2010 19:52:31 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgIBAOJ1QEvUnwdkjmdsb2JhbACDXpdjAQEBAQkLCAkRBqkTjBKBLIIuVgQ X-IronPort-AV: E=Sophos;i="4.47,493,1257116400"; d="scan'208";a="40672835" Received: from relay.pcl-ipout02.plus.net ([212.159.7.100]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 03 Jan 2010 19:52:30 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApsEANJ2QEvUnw4T/2dsb2JhbACDXsE9jBKBLIIuVgQ Received: from pih-relay06.plus.net ([212.159.14.19]) by relay.pcl-ipout02.plus.net with ESMTP; 03 Jan 2010 18:52:30 +0000 Received: from [87.114.35.173] (helo=leper.local) by pih-relay06.plus.net with esmtp (Exim) id 1NRVYz-0006gS-RO; Sun, 03 Jan 2010 18:52:30 +0000 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Re: general question, was Re: OCaml is broken Date: Sun, 3 Jan 2010 20:06:53 +0000 User-Agent: KMail/1.9.9 Cc: Sylvain Le Gall References: <4B2D2BC1.6020204@msu.edu> <8D2436E9-A41B-48D4-B844-A82E57D47CA2@pulsschlag.net> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <201001032006.53778.jon@ffconsultancy.com> X-Plusnet-Relay: a743f4b370b7d85efffb33b4c960ec6f X-Spam: no; 0.00; ocaml:01 parallelism:01 parallelism:01 high-level:01 ocaml:01 interop:01 camlp:01 ocaml-like:01 ocaml's:01 frog:98 wrote:01 caml-list:01 macros:01 constructs:02 constraints:03 On Sunday 03 January 2010 10:49:38 Sylvain Le Gall wrote: > The only point of the whole discussion -- which is a recurring point by > some of those who participate -- is the lack of shared-memory > parallelism in the core language. I solved the problem: the latest version of HLVM now facilitates high-performance shared-memory parallelism. The remaining challenges to making this more user friendly are: 1. High-level constructs for parallelism in HLVM (task queues). 2. OCaml<->HLVM interop, probably by destructuring values passed from the OCaml world so that HLVM programs can use them directly and return results by mutating values on the OCaml side. 3. Camlp4 macros so users can write their HLVM code in an OCaml-like DSL. I believe this is basically an optimal solution for OCaml's multicore problem given the practical constraints. The future's looking bright again. :-) -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e