From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.6.10/8.6.6) id LAA21233 for caml-redistribution; Thu, 4 Jan 1996 11:26:48 +0100 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.6.10/8.6.6) with ESMTP id KAA14175 for ; Fri, 29 Dec 1995 10:45:45 +0100 Received: from ephemere.inria.fr (root@ephemere.inria.fr [128.93.8.26]) by concorde.inria.fr (8.7.1/8.7.1) with ESMTP id KAA23745; Fri, 29 Dec 1995 10:45:42 +0100 (MET) Received: from ephemere.inria.fr (localhost.inria.fr [127.0.0.1]) by ephemere.inria.fr (8.6.11/8.6.6) with ESMTP id KAA10817; Thu, 28 Dec 1995 10:08:33 -0500 Message-Id: <199512281508.KAA10817@ephemere.inria.fr> X-Mailer: exmh version 1.6.4 10/10/95 To: "Mark C. Chu-Carroll" cc: caml-list@pauillac.inria.fr Subject: Re: Dynamic linking in CSL? In-reply-to: Your message of "Fri, 22 Dec 1995 14:09:29 EST." <9512221909.aa01551@auriga.cis.udel.edu> Reply-To: Francois.Rouaix@inria.fr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 28 Dec 1995 16:08:31 +0100 From: Francois Rouaix Sender: weis > Is it possible, in CSL, to dynamically load and link a CSL module > which matches a static signature? Dynamic linking is available for CSL (bytecode compiler only !) as a library, in csl/otherlibs/dynlink. Type safety is handled exactly as for static linking, except that you can restrict arbitrarily the modules "exported" to dynamically linked bytecode. I have used this feature extensively in my MMM browser, written in CSL with CamlTk4. The difficulty is to invoke code from dynamically loaded modules. I believe the easiest way is to provide "registration functions" that the extension will call during loading. E.G. in MMM let _ = Applets.register the_function "some name" and other similar "hooks" mechanisms. -- Francois.Rouaix@inria.fr Projet Cristal - INRIA Rocquencourt WWW Home Page: http://pauillac.inria.fr/~rouaix/