# Writer's Workbench

The Writer's Workbench (wwb) is a grammar checker created by Lorinda Cherry and Nina Macdonald of Bell Labs. It is perhaps the earliest grammar checker to receive wide usage on Unix systems.

## Capabilities

wwb's utilities were capable of analysing text for parts of speech, and for word and sentence length, and of comparing the results to established norms.
The Writer's Workbench was meant to help students learn to edit their work:
   My feeling about a lot of those tools is their value in education is as much pointing out to people who are learning to write that they have choices and make choices when they do it. They don't think of a writing task as making choices per se. Once they get it on paper they think it's cast in stone. So it makes them edit.
Polling at Colorado State University in the 1980s indicated that wwb was well received by students and faculty. Additional analysis in the 1980s indicated close correlation between wwb's assessments and essay grading rubrics.

## Package contents

As of 1983, the wwb package contained 29 utilities. As of 1986, this had increased to around 35–40 utilities:
| Command | Description |
| abst | Analyzes documents for abstractness. |
| acro | Finds acronyms in text files. |
| conscap | Identifies inconsistent capitalization. |
| consist | Identifies inaccuracies in trademarks and inconsistent capitalization between British English and American English. |
| conspell | Identifies inconsistent use of British and American spelling. |
| continge | Analyzes text for contingencies in procedural documents. |
| continrls | Presents information about how contingencies can be displayed as if-then lists or decision trees. |
| dictadd | Adds words to the dictionaries used by diction, sexist, spellwwb and tmark. |
| diction | Identifies wordy sentences and suggests how they may be simplified. |
| diversity | Analyzes word frequencies to provide a measure of the number of distinct words, and generates an output file ranking how often particular words occurred. |
| double | Identifies accidental repeated occurrences of the same word, such as "the the" or "and and". |
| findbe | Identifies uses of the verb "to be" (see E-Prime). |
| gram | Identifies misused articles and split infinitives. |
| match | Compares outputs from the style command to statistically compare writing styles between documents. |
| mkstand | Analyzes a "well-written" document to generate a standard for use by the prose command. |
| morestyle | Analyzes text by running the abst, diversity, neg and topic commands. |
| murky | Analyzes procedural documents to identify difficult sentences. |
| neg | Identifies negations in text. |
| org | Processes documents to produce condensed versions that show the document's organization. |
| parts | Analyzes documents to assign parts of speech to each word. |
| proofr | Invokes the spellwwb, punct, double, diction and gram commands to perform automatic proofreading. |
| proofvi | Invokes the spellwwb, punct, double and diction commands to provide interactive error correction. |
| prose | Describes the writing style of a document. |
| prosestnd | Displays the standards used by the prose command. |
| punct | Checks punctuation of documents. |
| punctrls | Displays punctuation rules. |
| reroff | Converts formatted text into nroff format. |
| sexist | Identifies sexist terms and suggests alternatives. |
| spelladd | Adds words to the personal dictionary used by spellwwb. |
| spelltell | Finds the correct spelling of a word. |
| spellwbb | Enhanced version of the spell command that can process multiple files. |
| splitrls | Displays information about split infinitives. |
| style | Analyzes style characteristics of documents. |
| switchr | Analyzes documents to identify words used as both nouns and verbs. |
| syl | Analyzes documents to produce a list of every word used along with the number of syllables of each word. |
| tmark | Identifies incorrectly used trademarks. |
| tmarkrls | Displays information about rules for the correct use of trademarks. |
| topic | Lists the most frequent nouns in a document to give some idea about its topic. |
| worduse | Displays information about correct use of words and phrases. |
| wwb | Invokes the proofr and prose commands to provide a complete report on a document and suggested improvements. |
| wwbaid | Online help system for the Writer's Workbench. |
| wwbhelp | Searches for help on a particular Writer's Workbench topic. |
| wwbinfo | Displays a complete summary of the Writer's Workbench suite. |

## History and successors

The wwb package was included with AT&T UNIX in the late 1970s and early 1980s and received wide distribution as a result. However, wwb was not included with Version 7 Unix. Various successors arose, based closely upon wwb, such as the commercial Grammatik packages for IBM PCs.
The GNU operating system contains free software implementations of several wwb utilities, such as spell, style and diction. As of early 2019, the look utility had not yet been ported to GNU, but its implementation from 4.4BSD-Lite is available as free software, for example via Debian.