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
requests for improvement
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-01-20 (17:31)
From: Oliver Bandel <oliver@f...>
Subject: Re: [Caml-list] requests for improvement
Zitat von ivan chollet <>:

> Two of my remarks about the current OCaml implementation:
> -          About the Random module: could the function self_init ()
> take
> something else as the current system date as the only entropy source?
> I
> think there are more valuable sources than the current time on
> today's
> computers.

Which would you suggest to be a good source?
It must be cross-platform available, because OCaml
will be compiled / used on different systems.

There also are Random.full_init and Random.init.
Don't you think, they can be used, when feeded with the
data you might expect to be better?

On Linux for example, a while ago some people who run
servers had the problem that the random-device didn't had
enough random data, and so generating random-inits for
encryption-tools didn't worked.
I think in later kernels this problem was solved,
but this can show that relying on seemingly "better" solutions
can yield worse results, if the conditions aren't as they should be.
And: I'm not sure if the currently used solutions are really better...
...if you really need random data, look for devices that generate the
data out of analog circuits!

But if you have an idea for doing it better, possibly
use it for yourself (and let know us your ideas),
and/or write a feature wish to teh OCaml-bug reporting system:
  Bug reports:
It's called "Bug reports" but feature wishes are welcome there also.

> -          Any plans about giving the possibility to spread the
> definition
> across more than one source file. Sometimes modules are more than 300
> lines,
> so I would like to be able to split it over two or more files.
> Currently
> there is a one-to-one relationship between files and modules. As far
> as I
> know, OCaml is the only language to have such a particular
> constraint.

I doubt it is "the only" language.

But IMHO it's not a good idea to spread code, depending to one
module over many files.

Spreading code over many files is the best way to create a mess.
And THIS is one major problem of code of many projects: that it is a
mess! OCaml's strictly handling of some issues is the way to make
things cleaner and clearer.

You can (re)use code of already available modules,
so in this way you can pick up the "spreaded" things.
This is clear and clean.