IGL

Isotope Geochemistry Language, a text format for isotopic process models



Describes IGL 0.5. Page revision 1.0, 2026-07-31.

Conformance suite

IGL is a specification, and a specification with one implementation is a specification nobody has tested. The suite exists to settle whether a second implementation is conforming, without arbitration and without reading its source.

What it measures

The corpus

Models the language must accept and models it must reject, each rejected case carrying the diagnostic code it must produce. The corpus is generated from the specification's own examples, so a specification edited without regenerating fails the build rather than being noticed six months later.

A rejected example without a code is refused by the generator: a case that merely fails is a case that accepts whatever the implementation happens to report.

The runtime corpus

Models with expected values, computed from closed forms rather than recorded from a run. A test whose expectation came from the program it tests measures agreement with itself. Where a closed form exists, it is what the case expects; where it does not, the case states an invariant such as closed-system mass balance, which an engine can violate while getting every delta right.

Measuring another engine

The suite drives a binary on disk, not a library:

set IGL_ENGINE=C:\path\to\your-engine.exe run
cargo test -p igl-conformance --test runtime -- --nocapture

With no engine configured, the suite reports itself unmeasured and passes. A missing engine is not a defect of the language, and a suite that failed for its absence would be a suite people learn to ignore. The consequence is worth knowing: a run that reports nothing measured looks exactly like one that measured everything, so read the count.

What conformance does not settle

The suite says an engine agrees with the specification on the cases the corpus contains. It does not say the numbers are right, and it does not say a fractionation factor is the one a study should use. Those are questions for the literature the databases cite, and no test suite answers them.