TOML is a file format that is most suitable for configurations, as it is meant to be edited by humans but read by computers. It emphasizes strong readability for humans while at the same time supporting strong typing as well as immediate and clear error reports. On small typos you get parse errors, rather than silently corrupted garbage. Much preferable to any and all of XML, JSON or YAML – though sadly these may be too ubiquitous now. TOML has been making inroads with projects such as the Hugo static blog compiler, or the Cargo system of Crates (aka “packages”) for the Rust language.
CRAN had sent us a note that the package no longer compiled under the [unreleased, of course, never change, BDR ;-) ]
g++-11 compiler, but were kind enough to hint that it was only lacking an
#include <limits>. These things happen: newer compilers are generally more strict, and that is generally a good things. (Last year this time we prepped code for the more stringent view on
global variables under
g++ version had similar demands to clarify include headers.) I set up a simple Docker contain with on Ubuntu 21.04 with
g++-11, R, and Rcpp to build the package and make this change (which was of course also PR’ed upstream at cpptoml), plus some other small ones that update the package since the last release roughly 18 months ago. We also switched CI use to the r-ci setup I should blog about a little more, removed a bashism and updated a few URLs. The bulleted list of changes in this version follows.
Changes in version 0.1.7 (2020-12-01)
#include <limits>to header file, also contributed upstream, to permit compilation under the (unreleased)
Switch the simple
Switch CI use to
r-cifor focal and bspm.
Update several TOML URLs to
If you like this or other open-source work I do, you can sponsor me at GitHub.