Normative, Idiomatic, Canonical

Published: Wednesday, Nov 18, 2009 Last modified: Friday, May 24, 2024

At first glances:

Could seem roughly the same, though there are some subtle differences.


Normative as opposed to informative or simply non-normative is used to express the standard defined way of doing something. This concept is used everywhere in specifications.


Idiomatic is largely about convention and style.

Instead of saying, this function block “adheres to commonly accepted style”, you can abbreviate this statement simply to ‘idiomatic’. The word “idiomatic” is commonly used in texts at


Canonical is the prescriptive, reproducible way of doing something. A good example is XML canonicalization.