Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

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,
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: