> > With the current standard library if I suddenly want to use Int32.of_int, I > know I just need to type Int32.of_int in my source. With your proposal I > need to remember that it is in Data.Numeric and go at the beginning of my > file to open it or write Data.Numeric.Int32.of_int, to me this brings > bureaucracy without any benefit. And lack of bureaucracy is one of the > reasons I like ocaml (and dislike java for example). > > Besides Hierarchies are anyway limited in their descriptive power and one > day you'll find something that will fit in two places, Rope is already an > example being both Data.Persistent and Data.Text. > I use modules in the same way, mostly to be able to grep Int32.of_int in my code when needed (as greping for of_int only would make the result less precise). > Thus my proposal would be to _present_ them as a hierarchy (but even here a > mean to tag/browse the modules with/by keywords would do a better job) but > keep the actual module structure of Batteries as flat as possible, > everything just under the toplevel Batteries. When I code I really don't > want to have to think about all these open directives that essentially bring > nothing. > tag system for modules is a good idea, and I would like to add that type search for functions (which is already done by ocamlbrowser) is also nice. -- Thomas