Skip to main content



[ Historically, 'according to religious law' ]

adj. The usual or standard state or manner of something. This word has a somewhat more technical meaning in mathematics. Two formulas such as 9 + x and x + 9 are said to be equivalent because they mean the same thing, but the second one is in 'canonical form' because it is written in the usual way, with the highest power of x first. Usually there are fixed rules you can use to decide whether something is in canonical form. The jargon meaning, a relaxation of the technical meaning, acquired its present loading in computer-science culture largely through its prominence in Alonzo Church's work in computation theory and mathematical logic (see Knights of the Lambda Calculus).

Compare vanilla.

This word has an interesting history. Non-technical academics do not use the adjective 'canonical' in any of the senses defined above with any regularity; they do however use the nouns 'canon' and 'canonicity' (not *canonicalness or *canonicality). The 'canon' of a given author is the complete body of authentic works by that author (this usage is familiar to Sherlock Holmes fans as well as to literary scholars). '*The* canon' is the body of works in a given field (e.g., works of literature, or of art, or of music) deemed worthwhile for students to study and for scholars to investigate.

These non-techspeak academic usages derive ultimately from the historical meaning, specifically the classification of the books of the Bible into two groups by Christian theologians. The 'canonical' books were the ones widely accepted as Holy Scripture and held to be of primary authority. The 'deuterocanonical' books (literally 'secondarily canonical'; also known as the 'Apochrypha') were held to be of lesser authority -- indeed they have been held in such low esteem that to this day they are omitted from most Protestant bibles.

Hackers invest this term with a playfulness that makes an ironic contrast with its historical meaning. A true story: One Bob Sjoberg, new at the MIT AI Lab, expressed some annoyance at the use of jargon. Over his loud objections, GLS and RMS made a point of using it as much as possible in his presence, and eventually it began to sink in. Finally, in one conversation, he used the word 'canonical' in jargon-like fashion without thinking.

Steele: "Aha! We've finally got you talking jargon too!"

Stallman: "What did he say?"

Steele: "Bob just used 'canonical' in the canonical way."

Of course, canonicality depends on context, but it is implicitly defined as the way *hackers* normally expect things to be. Thus, a hacker may claim with a straight face that 'according to religious law' is *not* the canonical meaning of 'canonical'.