2012/10/31 Oliver Bandel > > > 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