spell, sprog – find spelling errors

spell [ options ] ... [ file ] ...

aux/sprog [ options ] [ –f file ]

Spell looks up words from the named files (standard input default) in a spelling list and places possible misspellings--words not sanctioned there--on the standard output.

Spell ignores constructs of troff(1) and its standard preprocessors. It understands these options:
b    Check British spelling.
v    Print all words not literally in the spelling list, with derivations.
x    Print on standard error, marked with =, every stem as it is looked up in the spelling list, along with its affix classes.

As a matter of policy, spell does not admit multiple spellings of the same word. Variants that follow general rules are preferred over those that don't, even when the unruly spelling is more common. Thus, in American usage, `modelled', `sizeable', and `judgment' are rejected in favor of `modeled', `sizable', and `judgement'. Agglutinated variants are shunned: `crewmember' and `backyard' cede to `crew member' and `back yard' (noun) or `back–yard' (adjective).

/sys/lib/amspell   American spelling list
/sys/lib/brspell   British spelling list
/bin/aux/sprog     The actual spelling checker. It expects one word per line on standard input, and takes the same arguments as spell.

/rc/bin/spell        the script
/sys/src/cmd/spell   source for sprog


The heuristics of deroff(1) used to excise formatting information are imperfect.

The spelling list's coverage is uneven; in particular biology, medicine, and chemistry, and perforce proper names, not to mention languages other than English, are covered very lightly.