2012/10/31 Oliver Bandel <oliver@first.in-berlin.de>


Am 30.10.2012 um 16:52 schrieb Didier Cassirame <didier.cassirame@gmail.com>:

>
> Thinking about it, there's at least one case where mli files are not so useful: When you have several modules which must all comply with a certain module type. In that case, all the mli files would be identical, and a modification of the module type would necessitate to change all the .mli.

Sounds like you reformulated an advantagenas being a disadvantage.
If someone changes a type of a module by accident, it,will pop up as
problem.
Also I wonder, if a type that is used by other modules
might not also need to change the mplementation.

Yes, reading my words now, maybe the wording wasn't that great.
When you're using functors, you usually expect a very specific interface for lifted modules. In fact, it's not so clear cut, but I think it's good practice to conform the lifted modules to the module type that the functor expects. Ah, also, one cannot make a functor of a ml/mli file.

That's the kind of situation I was thinking about, because I more or less had the problem, for one of my projects. I am still not sure about the best way to split the code in several files (The practice for functors is to have a Make functor within the module, which is Ok, but if I want to have each module in its own file, I don't know how to do it properly).

didier