[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Fabrice Le Fessant <lefessan@t...> |
| 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