add config file interface
It would be useful to add a way to configure an evaluation via a configuration file. This would make it very easy to reproduce results across the stack without having to enter language-specific considerations.
The configuration file format could be YAML or TOML (that are more human-readable/writable than JSON, let alone XML).
It makes more sense to have the file parsing directly in evalhyd
, and expose the functionality to the bindings, e.g. via evald_from_config
and evalp_from_config
. There are parsers for both YAML and TOML readily available in C++.
evalhyd-cli
already offers a configuration file route via its CLI11
dependency. It only has TOML parsing capability, and it is not a perfect implementation of the language specification, so it might be better to replace it with another parsing library. However, a lot of the preprocessing, especially on the probabilistic side (with structured directories), should be directly transferred to evalhyd
.