enso-org / enso

Hybrid visual and textual functional programming.
https://enso.org
Apache License 2.0
7.3k stars 317 forks source link

WIP: Eliminating circe-yaml #10326

Open hubertp opened 1 week ago

hubertp commented 1 week ago

Pull Request Description

This change adds our very-own YAML parser on top of SnakeYAML. Compared to Circe parser on top of SnakeYAML. The advantage? In some not-so-distant future we might actually get rid of circe and the related performance issues.

The logic is similar to what circe does i.e. analyzing SnakeYAML to build our own structure. This change is not complete, as there are still some tests failing, but most common Configs are already parseable. We could auto-generate some of the code but still some of the logic would have to be tweaked by hand; the current logic has a number of special cases, as I found out the hard way.

Important Notes

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR: