Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] packing Ocaml standard library into Std "namespace"
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Sven LUTHER <luther@d...>
Subject: Re: [Caml-list] packing Ocaml standard library into Std "namespace"
On Sun, Aug 25, 2002 at 12:55:07AM +0200, Maxence Guesdon wrote:
> Hi,
> 
> > Ocaml 3.05 and above introduces new packing facility (ocamlc "-pack"
> > option). What do you think of using it to pack all Ocaml standard modules
> > into one big Std module so that the user code could use them as
> > Std.List.something, Std.Array.something etc. (having an analog of C++
> > std:: namespace)?
> 
> Hum, Using Std.List.iter instead of just List.iter would be a pain
> for me since I never 'open' standard modules. I could still open Std
> at the beginning of each module but the best would then for the Std
> module to be open by default (like Pervasives is).

Yes, that would be a good solution.

> But there may be a problem (correct me if i'm wrong): 
> if I don't use, say Arg, in my program, the Arg module doesn't appear
> in the executable. But if it is packed in std.cmo then Std.Arg will
> be in my executable (as part of Std), as all the other standard
> modules I don't use. Is that true ?

Does the exectuable only contain the used code anyway ? I thought it was
so, and if it is not so, then maybe it should.

Otherwise, we would need something like strip to remove the unused
parts.

But really, my impression was that when creating an executable, ocamlc
only copies the really used functions over to it, i may be wrong still.

Also, we should do this kind of thing for all third party libraries,
especially those which have more than one module.

Sven Luther
-------------------
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