I am pleased to announce the release of version 1.0 of my Orsetto project. As I wrote in the README file about it:
Orsetto is a standalone library comprising a core toolkit…
- Core functional data structures and processes.
- Unicode transport, normalization, parsing and formatting.
- General purpose packet format encoder-decoder processes.
…used to implement streaming parsers and formatters for a useful variety of
structured data interchange languages…
In this first release 1.0, the major featured languages are only JSON and CBOR, but my hope is to expand this list to include a variety of other useful languages in the 1.x release series. Moreover, it’s only non-build and non-test dependency is the OCaml distribution itself. The programming interfaces are fairly low-level, and sufficiently different from other implementations that I feel Orsetto may be a welcome alternative to other serialization libraries.
Orsetto is now available at the community OPAM repository, and preview releases of forthcoming versions will continue to be available at my personal repository in Bitbucket, which you can use in the conventional way:
opam repository add jhwoodyatt git+https://bitbucket.org/jhw/opam-personal.git
I have been hacking on various personal projects in OCaml for about seventeen years now, and Orsetto represents the portions of all that I find myself regularly reusing. I’m now promising the OCaml community to be as responsive to issues filed on the Issue tracker as my day job allows, and I welcome contributions and criticisms.
p.s. Now that I’m no longer a Googler, I may now be free to work on some of the features that I deliberately avoided, in compliance with my employment contract while I was employed there.