yoriyuki / Camomile

A Unicode library for OCaml
Other
125 stars 26 forks source link

Change Camomoile to use (wrapped true) #61

Closed rgrinberg closed 6 years ago

rgrinberg commented 6 years ago

This PR restructures camomoile to use module aliases rather than the manual packing we had before. This means that there should be no more conflicts with other libraries, as all of our compilation units will be prefixed with Camomile__. Our users gain compatibility with stdlib's uchar (since we no longer have a uchar.cmi) and their binary sizes should decrease, because module aliases aren't opaque to the dead code elimination.

I've also done a few other changes along the way:

yoriyuki commented 6 years ago

Some modules like ISet and IMap in CamomileLibrary.Private are useful for other user. In future, they would be worthwhile to publish them as a separate package. Other modules like xArray and byte_labelled_dag can be replaced to modules from other packages, so can be eliminated. Others like Hangul would be a part of public modules. Unidata is a purely internal module so we need to hide from the users. Anyways, we can restructure the modules and can reduce the number of private modules in future.