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=AWL autolearn=disabled version=3.1.3 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 8BDCABBAF for ; Sat, 4 Oct 2008 11:10:56 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhUDAD/Q5kjCpx6wiGdsb2JhbACTYQEBARUipVuBaA X-IronPort-AV: E=Sophos;i="4.33,360,1220220000"; d="scan'208";a="15656402" Received: from smtpmin.univ-orleans.fr (HELO min.univ-orleans.fr) ([194.167.30.176]) by mail2-smtp-roc.national.inria.fr with ESMTP; 04 Oct 2008 11:10:56 +0200 Received: from smtps.univ-orleans.fr (localhost [127.0.0.1]) by min.univ-orleans.fr (Postfix) with ESMTP id 0265312B4B3; Sat, 4 Oct 2008 11:10:55 +0200 (CEST) Received: from [192.168.0.12] (ras75-4-82-235-58-110.fbx.proxad.net [82.235.58.110]) by smtps.univ-orleans.fr (Postfix) with ESMTP id 13FB836E60; Sat, 4 Oct 2008 11:10:56 +0200 (CEST) Subject: Re: [Caml-list] Metaprogramming features From: David Teller To: Jon Harrop Cc: caml-list@yquem.inria.fr In-Reply-To: <200810040317.17868.jon@ffconsultancy.com> References: <48E62D5B.3060400@mcmaster.ca> <1223049697.6282.8.camel@Blefuscu> <200810040317.17868.jon@ffconsultancy.com> Content-Type: text/plain Date: Sat, 04 Oct 2008 11:10:59 +0200 Message-Id: <1223111459.6931.15.camel@Blefuscu> Mime-Version: 1.0 X-Mailer: Evolution 2.12.1 Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; univ-orleans:01 0100,:01 haskell:01 syntax:01 ocaml:01 run-time:01 ocaml:01 syntax:01 polymorphism:01 run-time:01 ffi:01 lexers:01 parsers:01 bytecode:01 compiler:01 On Sat, 2008-10-04 at 03:17 +0100, Jon Harrop wrote: > If you want a race, forget Haskell and look at F# which already provides typed > metaprogramming with quotations, unsafe high-performance metaprogramming via > CIL and the two most valuable syntax extensions (try..finally and views) as > well as most of the key benefits of OCaml plus decent libraries and a > concurrent run-time. Well, I'm not going to answer on the concurrency aspect, it's been amply discussed in various other threads. As for the decent libraries, that's our first objective with Batteries Included and Community OCaml. Valuable syntax extensions (including boilerplate) is our secondary objective. We handle that part so that the rest of the community can concentrate on the rest of the race :) > IMHO, the most productive direction for OCaml right now is towards LLVM. An > LLVM backend to OCaml would facilitate some productive improvements (e.g. > free polymorphism, easy run-time code generation and dynamic linking, easy > FFI, platform independent and performant intermediate representation, extra > optimization passes for "free"). Moreover, this path can lead to completely > independent compilers that could then be free to expose their lexers, > parsers, type checkers and metaprogramming capabilities without licensing > issues. I quite agree that a move towards LLVM would be an interesting experiment. Whether or not it proves useful remains to be seen. I'm planning to put a few graduate students on writing a Caml bytecode => LLVM compiler later this year and if things go nicely on a whole OCaml => LLVM compiler next year. I believe that a Summer of Code on the subject would be quite profitable (although I can't personally handle it next year). Cheers, David -- David Teller-Rajchenbach Security of Distributed Systems http://www.univ-orleans.fr/lifo/Members/David.Teller Angry researcher: French Universities need reforms, but the LRU act brings liquidations.