2. Formatting

Converting a DUST document to DUST writes its canonical spelling: the same value always formats to the same bytes. For example, epsilon convert input.dust output.dust writes canonical DUST to output.dust. epsilon fmt keeps map keys in source order, so its output is canonical only when the keys are sorted. Canonical output is what Epsilon prints, what conformance fixtures store, and what hash digests, so two programs that format alike are the same program.

The rules are those of RON and DUST. In brief, the formatter: