Some words are written without hyphens (nonaggression, nonbeliever), and some words are written with a hyphen (well-intentioned). Is there a schema in the use of a hyphen?
In English, there are three types of compound words:
the closed form, in which the words are melded together, such as firefly, secondhand, softball, childlike, crosstown, redhead, keyboard, makeup, notebook;
the hyphenated form, such as daughter-in-law, master-at-arms, over-the-counter, six-pack, six-year-old, mass-produced;
and the open form, such as post office, real estate, middle class, full moon, half sister, attorney general.
For the most part, compound words that are created by adding a prefix are not hyphenated. For example, there are the words anteroom, extraordinary and coordinate. Some exceptions to this rule are (from the link above):
- compounds in which the second element is capitalized or a number: anti-Semitic, pre-1998, post-Freudian
- compounds which need hyphens to avoid confusion: un-ionized (as distinguished from unionized), co-op
- compounds in which a vowel would be repeated (especially to avoid confusion): co-op, semi-independent, anti-intellectual (but reestablish, reedit)
- compounds consisting of more than one word: (poster's note: these are phrasal adjectives) non-English-speaking, pre-Civil War
- compounds that would be difficult to read without a hyphen: pro-life, pro-choice, co-edited
Your original example of "well-intentioned" is also explained here:
The other time we must use hyphenation is to join a word to a past participle to create a single adjective preceding the noun it modifies: "a well-intentioned plan," for example, or "a horseshoe-shaped bar."
So, why isn't nonaggression hyphenated? It can be broken into non + aggression, so it is formed by adding a basic prefix onto the noun. In doing so, it breaks none of the exceptions to the rule: "aggression" is not capitalized, hyphenating the term doesn't avoid confusion, a vowel isn't repeated, the compound only consists of 2 words, and it is perfectly readable without a hyphen.Tweet