(Historically, "according to religious law")
1. <mathematics> A standard way of writing a formula.
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. Things in canonical form are easier to compare.
2. <jargon> The usual or standard state or manner of something.
The term acquired this meaning 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
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.
The word "canon" derives ultimately from the Greek "kanon" (akin to the English "cane") referring to a reed.
Reeds were used for measurement, and in Latin and later Greek the word "canon" meant a rule or a standard.
The establishment of a canon of scriptures within Christianity was meant to define a standard or a rule for the religion.
The above non-technical academic usages stem from this instance of a defined and accepted body of work.
Alongside this usage was the promulgation of "canons" ("rules") for the government of the Catholic Church.
The usages relating to religious law derive from this use of the Latin "canon".
It may also be related to arabic "qanun" (law).
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 incessant use of jargon.
Over his loud objections, GLS
made a point of using as much of it 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.
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".