Reference articles on history, science, culture and more
Encyclopedia

Spell (Unix)

Unix spell checking utility

spell is the standard English language spell checker for Unix, Plan 9, and Unix-like operating systems.

Appearing in Version 6 Unix, spell was originally written by Stephen C. Johnson of Bell Labs in 1975. Douglas McIlroy later improved its accuracy, performance, and memory use, and described his work and spell in general in his 1982 paper "Development of a Spelling list".

Spell has a simple command-line interface: It goes over all the words in a given text file, and prints a sorted list of unique misspelled words in that file. It does not provide any interface for looking for those words in the file, or helping to correct the mistakes. In 1983, a different spell-checker, ispell (the interactive spell-checker), was ported to Unix. ispell had a user interface for showing the spelling mistakes in context and suggesting how to correct them. Since then, the original Spell tool has been mostly considered obsolete.

Another reason Spell is considered obsolete is that it only supports the English language. Modern spell-checkers for Unix and Linux systems, such as aspell, MySpell and hunspell, support a multitude of different languages and character sets. The Single Unix Specification has officially declared Spell a "legacy application", stating that this was done "because there is no known technology that can be used to make it recognise general language for user-specified input without providing a complete dictionary along with the input file." Nevertheless, the Single Unix Specification does not standardize any other spell-checking utility to take Spell's place.

Because of Spell's problems and the superiority of its alternatives, a free software version of McIlroy's spell has never been written. Instead, in 1996 Thomas Morgan of GNU wrote a simple wrapper to ispell (which was already popular at the time) to replicate spell's original behaviour. Many Linux distributions include this GNU spell, or an even simpler shell script; For example, the "spell" command in Fedora Linux simply runs aspell, as:

cat "$@" | aspell -l --mode=none | sort -u
Watch videos about Spell (Unix)Explainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Spell (Unix), written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.