Re: [Caml-List] Dynlink + Marshaling...

From: Fabrice Le Fessant (lefessan@talbot.inria.fr)
Date: Fri Mar 05 1999 - 09:41:00 MET


From: Fabrice Le Fessant <lefessan@talbot.inria.fr>
Date: Fri, 5 Mar 1999 09:41:00 +0100 (CET)
To: Nicolas Ollinger <nollinge@ens-lyon.fr>
Subject: Re: [Caml-List] Dynlink + Marshaling...

Le reponse est toute simple: Marshal ne permet de sauver que les
fonctions presentes au debut de l'execution (voir le code dans
byterun/interp.c). Donc, les fonctions ajoutees par Dynlink et par le
toplevel ne peuvent pas etre conservees.

Neanmoins, il est possible dans ton cas de conserver les bindings du
type "let h = f o exp" et de les executer a chaque debut de
session, apres chargement des modules necessaires.

Cela dit, il faut bien faire attention que tu n'a pas d'acces direct
aux noms des fonctions presentes dans les modules (les noms utilises
dans les sources des modules). Les fonctions que tu veux utiliser
doivent donc s'enregistrer dans une table des fonctions offertes a
l'utilisateur avec un nouveau nom pour que tu puisses les retrouver
lorsque l'utilisateur va te demander la fonction "exp", etc ...
(mais tu risques alors d'avoir des problemes de typage car cette table
sera mal typee si elle contient des fonctions de types differents
!!!!). Bien sur, il existe un module Obj ...

- Fabrice

Homepage: http://pauillac.inria.fr/~lefessan



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:20 MET