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 concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 8EAE2BB9C for ; Wed, 4 Jan 2006 05:54:48 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k044slQE023283 for ; Wed, 4 Jan 2006 05:54:47 +0100 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id FAA21865 for ; Wed, 4 Jan 2006 05:54:47 +0100 (MET) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.194]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id k044skGg013006 for ; Wed, 4 Jan 2006 05:54:46 +0100 Received: by zproxy.gmail.com with SMTP id n29so4254132nzf for ; Tue, 03 Jan 2006 20:54:46 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=b77jirT3yK6eu6f90aT6mtis0HVCu5oEb3BOgPLcnsnxtP3/3Hbl4UGFOFEtmphdQFvTeE5MiKYfwFRo+bxuw0Li/Nj50Mj83Z6k0UBMkrAX6khNsG7OqcnNol2OI8rPZfs6nJVYNEF60FBy0L6xrMQZcPAfjL2Bm1E07HcxYE4= Received: by 10.36.72.8 with SMTP id u8mr4817030nza; Tue, 03 Jan 2006 20:54:45 -0800 (PST) Received: by 10.36.140.1 with HTTP; Tue, 3 Jan 2006 20:54:45 -0800 (PST) Message-ID: Date: Tue, 3 Jan 2006 20:54:45 -0800 From: Nathaniel Gray To: skaller Subject: Re: [Caml-list] PIC Cc: Ker Lutyn , caml-list@inria.fr In-Reply-To: <1136342332.17213.96.camel@rosella> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <43B6F8AF.6010807@linspire.com> <20060101104905.36934.qmail@web34614.mail.mud.yahoo.com> <1136342332.17213.96.camel@rosella> X-Miltered: at concorde with ID 43BB5517.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 43BB5516.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocaml:01 -fpic:01 dlopen:01 casts:01 ocaml:01 binary:01 compiler:01 restrictive:01 wrote:01 wrote:01 sourceforge:01 functions:01 caltech:02 caltech:02 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_BY_IP autolearn=disabled version=3.0.3 On 1/3/06, skaller wrote: > On Tue, 2006-01-03 at 15:27 -0800, Nathaniel Gray wrote: > > > Who wants to write an app without plugins these days? > > Who is willing to write applications that are unsound? > > Once Ocaml generates -fPIC it can be linked with a C wrapper > to make a shared library, and your mainline (or another > wrapped library) can embed a function that loads such > libraries with dlopen() and retrieves a record of functions, > then casts it to the expected type .. > voila, you have native code plugins. This could solve part of the problem, namely alleviating the need for recompiling the app for each plugin the user adds. However, given the OCaml team's indifference towards binary compatibility, trying to keep everybody on the same version of the compiler would be too restrictive to be practical. -n8 -- >>>-- Nathaniel Gray -- Caltech Computer Science ------> >>>-- Mojave Project -- http://mojave.cs.caltech.edu -->