I hope this doesn’t hijack this thread, but I wanted to share some experience I believe is related to the C bindings of the YAML library.
It appears that reasonably easy to get failure’s in the current implementation with larger YAML files. In most case’s simply raises exceptions, but with even larger files I’ve observed segfaults (at least locally).
I’ve added some additional information to an existing issue, and submitted a PR showing the failure:
CI results ( some of the azure-pipeline os specific failures seem unrelated, so linking to the ocaml-ci results )
I’m happy to work to help fix the issues, but I don’t have very deep OCaml or Ctype knowledge so I fear my troubleshooting will go in random directions until I up my own skill level.
Note, while I believe a native OCaml YAML would be great, I generally agree the effort might not be worth investment unless there is larger demand in the community.
I’ve been trying to find solutions, which will be easy to maintain and provide a wide capability and stability needed in parsing library. Sadly I haven’t found much of a solution which meets these requirements. One thought is to write a C or C++ library, which simply converts from YAML -> JSON and JSON -> YAML, we can then use the great native JSON libraries to manage all of our interop. This of course, won’t supply the full feature set, but I suspect it would meet the largest set of needs. If anyone thinks this a worth while feature set, I’m happy to either create an new package or send a PR to the existing ocaml-yaml.