Skip to content

§ 1 — Conformance

1. Conformance

Normative. This chapter defines what it means for an implementation to conform to the Cook Standard.

1.1. Conformance criteria

A conforming implementation:

  1. MUST accept every Cookfile in the Standard’s positive conformance corpus (docs/standard/conformance/positive/).
  2. MUST reject every Cookfile in the Standard’s negative conformance corpus (docs/standard/conformance/negative/) with a diagnostic that identifies the offending line. The exact wording is implementation-defined; the diagnostic class is normative.
  3. For accepted Cookfiles, MUST produce a parse whose structural shape matches the expected shape recorded for each case.

See § 12 of the Standard (Modules) for additional module-specific conformance requirements.

An implementation is said to conform to Cook Standard v0.X when, against the prose and corpus of the cs-standard/v0.X tag, it satisfies the three points above. The mechanism by which an implementation claims a version (a README statement, a library constant, a CLI flag, or any other surface) is implementation-defined and is not normatively required by this Standard.