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.8 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 mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 368E9BB84 for ; Tue, 9 Dec 2008 02:49:10 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al4AAFpdPUnUnw6UlGdsb2JhbACCO5EgAQEBAQkLCAkRBLsNgwU X-IronPort-AV: E=Sophos;i="4.33,738,1220220000"; d="scan'208";a="32381205" Received: from fhw-relay07.plus.net ([212.159.14.148]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/AES256-SHA; 09 Dec 2008 02:49:09 +0100 Received: from [87.115.10.107] (helo=leper.local) by fhw-relay07.plus.net with esmtp (Exim) id 1L9rim-0000lq-IW for caml-list@yquem.inria.fr; Tue, 09 Dec 2008 01:49:08 +0000 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] F# weaknesses Date: Tue, 9 Dec 2008 01:51:44 +0000 User-Agent: KMail/1.9.9 References: <750628.35610.qm@web111515.mail.gq1.yahoo.com> <200812082352.02684.jon@ffconsultancy.com> In-Reply-To: <200812082352.02684.jon@ffconsultancy.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200812090151.44586.jon@ffconsultancy.com> X-Plusnet-Relay: 569508b9d688d8e474f9300c6e3df383 X-Spam: no; 0.00; ocaml:01 camlp:01 ocaml's:01 frog:98 wrote:01 caml-list:01 macros:01 objective:02 compiled:04 problem:05 stand-alone:05 feasible:07 feasible:07 full-blown:08 quite:08 On Monday 08 December 2008 23:52:02 Jon Harrop wrote: > I think the interesting question is "how might we accomplish this"... I have been giving this question a lot of thought recently. The problem is that the goal is quite obvious and objective but the route is not at all obvious. I think the best way to proceed is to build a DSL that is initially useful (e.g. for numerics) and use macros and LLVM to get it JIT compiled. Then grow the language and garner users until it is feasible to create a stand-alone version of the language. I believe it is quite feasible to create a MiniML with its source quoted inside OCaml programs using Camlp4 and an LLVM backend for it that beats OCaml's performance on some tasks. That alone would be useful and it can be improved incrementally from there until it is a full-blown language implementation. -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e