English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
[Caml-list] Delaying module initialization
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2004-03-27 (15:47)
From: skaller <skaller@u...>
Subject: Re: [Caml-list] Delaying module initialization
On Sat, 2004-03-27 at 22:21, Richard Jones wrote:
> On Sat, Mar 27, 2004 at 12:18:32PM +0100, Xavier Leroy wrote:
> > A nicer way to write the above is
> > 
> >         let init = lazy (eval "use LWP::UserAgent")
> >         let somefun x y = Lazy.force init; ...
> Ah yes, that's nice!

Yes but it won't work.

The problem with apache plugins is that the
interpreted script in an HTML page can invoke
*arbitrary* scripts.

If those scripts are interpreted dynamically then
the Ocaml bytecodes for them must also be loaded dynamically,
and then the Perl being wrapped will also be
loaded dynamically.

So there is no use of this idiom: it is quite enough
to just write:

	let init = eval "use LWP::UserAgent"

in the dynamically loaded Ocaml bytecode.
The problem is NOT to dynamically load the Perl,
but to dynamically load the Ocaml bytecodes
required by a given HTML page (and no others).

John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net

To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners