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 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 59625BC6C for ; Thu, 31 Jan 2008 17:46:39 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAGWKoUfB/BYehWdsb2JhbACQIgEBAQgEBgcIEweZWA X-IronPort-AV: E=Sophos;i="4.25,286,1199660400"; d="scan'208";a="22025194" Received: from smtp23.orange.fr ([193.252.22.30]) by mail4-smtp-sop.national.inria.fr with ESMTP; 31 Jan 2008 17:46:38 +0100 Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf2332.orange.fr (SMTP Server) with ESMTP id 844CD7007D49 for ; Thu, 31 Jan 2008 17:46:38 +0100 (CET) Received: from [192.168.1.59] (APuteaux-154-1-58-91.w81-249.abo.wanadoo.fr [81.249.65.91]) by mwinf2332.orange.fr (SMTP Server) with ESMTP id 54B797006CE4; Thu, 31 Jan 2008 17:46:38 +0100 (CET) X-ME-UUID: 20080131164638347.54B797006CE4@mwinf2332.orange.fr Message-ID: <47A1FB6D.3030104@frisch.fr> Date: Thu, 31 Jan 2008 17:46:37 +0100 From: Alain Frisch User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) MIME-Version: 1.0 To: Jon Harrop Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Using dynlink (native code and byte code) for the build system References: <47A19CA2.9010303@exalead.com> <47A1E008.1040808@frisch.fr> <200801311448.38703.jon@ffconsultancy.com> In-Reply-To: <200801311448.38703.jon@ffconsultancy.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; frisch:01 frisch:01 dynlink:01 byte:01 fwiw:01 ocaml:01 ocamlopt:01 toplevel:01 ocamlopt:01 metaocaml:01 hacks:01 wrote:01 caml-list:01 undefined:01 alain:01 Jon Harrop wrote: > FWIW, I think natdynlink should be a core feature of OCaml going forwards > because it is useful in so many circumstances, not least the performant > top-level. As you know, the current implementation of natdynlink relies on the dynamic library layer of the underlying OS. Some systems don't have dynamic libraries at all and some systems put strong constraints on what can be put in them (e.g. "no reference to undefined symbols" or "position-independent code"), which require changes to the ocamlopt backend or other hacks. A nicer version of natdynlink (and of the native toplevel) could be obtained by basing it on an LLVM backend for ocamlopt. (And I'm sure the MetaOCaml guys would also love such a backend.) -- Alain