Design rationale

The specification is small on purpose.

Nano Markup 1.0.0 favors a narrow, testable language over a broad feature set. The result is a data format that can be implemented consistently across languages.

Next, read the formal specification and see how implementations are checked on the conformance page.

Rationale

The constraints do real work

3

Three value types

Strings, mappings, and sequences cover the core document tree without introducing type inference differences between languages.

4

Four-space indentation

Fixed indentation removes a large class of ambiguous formatting and parser edge cases.

ok

Conformance first

The shared corpus makes independent implementations prove they decode and write the same data trees.

Omissions

Features left out intentionally

Nano Markup does not define schemas, references, anchors, aliases, custom tags, canonical serialization, or application-level typing. Those features can be valuable, but including them would make the core language larger and harder to implement consistently.

The language specifies syntax and the parsed data model. Applications can layer validation, typed interpretation, and domain rules above that model.