I’m happy to announce the first stable version 1.0.0 of Camomile, a Unicode library for OCaml. This is an “API stabilizing” release, before we go major updates.
There is not much difference between the previous release 0.8.7 and 1.0.0. Only user visible changes are that dynamic configuration using environment variables is deprecated and all modules are wrapped under CamomileLibrary
Unicode standard changed a lot since 3.2. Unicode data format and semantics as well as algorithms are updated. We must review the difference and update the code.
In github repo, there is a 10.0.0 branch. In this branch a parser for UCD 10.0.0 is implemented, using Daniel Bünzli’s uucd. Since Camomile and uucd use different data structures, the parsing is currently very slow. We must do something.
Some random TODO:
Case mapping algorithm must be updated. Daniel already implemented this so I will look at his work. But again Camomile has a different API and different data structures so his works would not be directly usable.
Canonical equivalence and normal forms. the current implementation should be okay but I need to look at the standard. May try some improvement.
Collation. again I have to look at the standard.
Others?
Also updating test suites (currently we are using an almost 20 years old framework), packaging, performance improvement, restructuring modules etc, are all necessary and highly appreciated.
By the way, is anyone interested in a dedicated communication channel for Camomile development? I’m going to the large update and interested in opinions of users and (potential) developers alike.
We are communicating using GitHub issues and PR, but they do not provide the whole timeline of what people are doing.
Slack would be convenient for me but other service is okay.