Ispell has a long and convoluted history.  The following background
information on spelling checkers in general, and ispell in particular,
was provided to me by Les Earnest (les@dec-lite.stanford.edu):

> The earliest spelling checker (of sorts) of which I am aware was in a
> program that attempted to automatically receive human-keyed morse
> code, which can be ambiguous because of the variable timing between
> dots, dashes, intercharacter pauses, and interword pauses.  This
> program didn't use a full dictionary; instead, used a table of
> digraphs (two-letter sequences) that occur in English and barred
> improper letter sequences.  This program was written by someone at MIT
> Lincoln Lab around 1959 and, I think, ran on the TX-2 computer there.
> Unfortunately, I don't remember his name.  I might still have the
> paper he wrote in my files but it would take a major search to find it
> and I might not succeed.
> 
> A program that I wrote in 1961 to read cursive writing contained a
> real spelling checker, using the 10,000 most common English words.
> It is reported in:
>   L. Earnest, "Machine Recognition of Cursive Writing," Information
>   Processing 62, (Proc. IFIP Congress 1962, Munich), North-Holland,
>   Amsterdam, 1963.
> and
>   N. Lindgren, ``Machine Recognition of Human Language, Part III -
>   Cursive Script Recognition'', IEEE Spectrum, May 1965.
>
> I brought that dictionary to Stanford and got a PhD student to write
> a spelling checker for text in Lisp running on our PDP-6 computer at
> the Stanford Artificial Intelligence Lab around 1967.
> Unfortunately, I do not remember which student it was; it could have
> been Gil Falk.  It was a rather simple program (certainly much
> simpler than the earlier cursive writing program) and I didn't think
> of it as a significant development at the time.
> 
> [Later], I got another PhD student, Ralph Gorin, to do a better and
> faster spelling checker sometime in the early '70s, still using my
> old dictionary.  Ralph later wrote an article about it in CACM.  I
> believe that he later augmented the dictionary.

[note: Ralph has since informed me that he wrote no such article.  The
program was called SPELL and was written in 1971.  Ralph provided me
with a reference to "Computer Programs for Spelling Correction", by
James L. Peterson, Springer-Verlag, Berlin, 1980, No. 96 in the series
"Lecture Notes in Computer Science."  This book states that Ralph's
SPELL program, which was the direct ancestor of ispell, was the first
computer program written for checking the spelling of text documents.
The book is also a good source of references on spelling programs.]

> ...
>    
> [Ispell] was originally written in PDP-10 assemby language and ran
> under the WAITS operating system, which is similar to TOPS-10 but existed
> only on SAIL (a dual processor KA10/PDP-6 system).  It was and is called
> SPELL on that machine.  It later was modified to run under Tenex and
> TOPS-20.

[Ralph mentions that SPELL was also ported to MIT's ITS and TOPS-10.]
   
The Tenex version of ispell was later revised by W. E. Matson (1974),
and W. B. Ackerman (1978).

In 1983, Pace Willisson (pace@prep.ai.mit.edu) converted this version to
the C language and modified it to work under Unix.

In 1987, Walt Buehring revised and enhanced ispell, and posted it to the
Usenet along with a dictionary.  In addition, Walt wrote the first version
of "ispell.el", the emacs interface.

Geoff Kuenning (geoff@ITcorp.com, that's me, and by the way I
pronounce it "Kenning"; the "u" is silent) picked up this version,
fixed some bugs, and added further enhancements.  In 1988 I got
ambitious and rewrote major portions of the code, resulting in the
table-driven multi-lingual version.  Ole Bjoern Hessen
(obh@ifi.uio.no) in Norway alpha-tested this version and provided
several important enhancements.

Bob Devine (vianet!devine) provided two larger dictionaries (which
became the basis for english.1 and english.2) to Geoff for inclusion
with this posting.

Ashwin Ram (ram@@cs.yale.edu) made substantial enhancements to Walt
Buehring's emacs interface, and provided them to Geoff for inclusion
with an earlier posting.

The emacs interface was then completely overhauled by Ken Stevens
(stevens@@hplabs.hp.com), who also beta-tested the software and
without whom this posting would not have been possible.  If there's a
feature in the emacs interface that you like, you probably have Ken to
thank for it.  His efforts have been tireless for many years.

Martin Boyer made major contributions to the munchlist script,
including producing a version that runs under perl (see
languages/Where for instructions on how to get that version).
Philippe-Andre Prindeville provided xspell (a Motif-based X
interface), and Moritz Willers provided a NeXTStep interface.

Many other enhancements and bug fixes were provided by the numerous
people listed below.  Do not assume, because I omit mention of their
specific contributions, that these persons were any less instrumental
in creating the version of ispell that you see before you.  Every one
of them made a significant contribution, and it is only a lack of
space that prevents me from detailing these contributions.  This
version of ispell is truly a cooperative effort, and it would not
exist without the help of the generous souls listed above and below.

A full list of contributors, including those mentioned above, follows.  (I
think I have listed everyone, but if you contributed and aren't listed,
let me know and I'll correct it):

	Ivar Aavatsmark
	Per Abrahamsen
	W. B. Ackerman
	Rohit Aggarwal
	Jose Joao Almeida
	Boris Aronov
	Yves Arrouye
	Michael C. B. Ashley
	Bertil Askelid
	Isaac Balbin
	Neal Becker
	Tony Bennett
	Jim Berry
	Peter A. Bigot
	Benno Blumenthal
	Uwe Bonnes
	Marc Boucher
	Martin Boyer
	Nicolas Brouard
	Peter Bruells
	Ferd Brundick
	Jack Bryans
	Walt Buehring
	Richard Caley
	John D. Campbell
	Keith Cantrell
	John Capo
	Bill Carpenter
	Michael W. Chang
	Wei-Jou Chen
	Peter Chubb
	Stewart Clamen
	Henri Cohen
	Damian Cugley
	Ian Dall
	Kevin Dalley
	David Dalton
	Neal Dalton
	Hugh Daniel
	Mark Davies
	Frederic Devernay
	Bob Devine
	Detlev Droege
	Steve Dum
	Alexander Durner
	Jiri Dvorak
	Les Earnest
	David Edelsohn
	Jeff Edmonds
	Orjan Ekeberg
	Kevin Ellwood
	Rik Faith
	Ralf Fassel
	George Ferguson
	Jeff Finger
	Werner Fink
	John Fitch
	Peter Flatau
	Ralph. E. Gorin
	Amos A. Gouaux
	Bhusan Gupta
	Michael A. Guravage
	Chris Hadley
	Mark Hanning-Lee
	John Heidemann
	Arne Helme
	Ole Bjoern Hessen
	Denis Howe
	Joe Huber
	Brian Hunt
	imt3b2!imtsft (true name unknown)
	Lester Ingber
	Nick Ing-Simmons
	Richard L. Jackson, Jr.
	Michal Jaegermann
	John Jendro
	Bob Jewett
	Trevor Jim
	Gary Johnson
	Gjalt de Jong
	Don Kark
	Dan Karron
	Steve Kelem
	Vivek Khera
	Masahiro Kitagawa
	Peter Knaggs
	Don Knuth
	Jim Knutson
	Heinz Knutzen
	Fred Korz
	Sebastian Kremer
	Geoff Kuenning
	Markus Lautenbacher
	Jack Lawler
	Cherie N. Lawrence
	Charles Levert
	Doug Lind
	Michael N. Lipp
	Ernst Lippe
	John Lu
	Dean Luick
	Ian MacPhedran
	Martin Maechler
	Ross Maloney
	Lee Melvin
	Evan Marcus
	Dave Mason
	W. E. Matson
	Meinhard E. Mayer
	Rob McMahon
	Bob McQueer
	Hal Miller
	N.O. Monaghan
	Chris Moore
	Bernd Mueller
	Peter Mutsaers
	Erik Toubro Nielsen
	Gaute Nessan
	Paul Nevai
	David Neves
	Mike Ogush
	Thorstein Ohl
	Piet van Oostrum
	Joe Orost
	Pham Dinh-Tuan
	Francois Pinard
	Israel Pinkas
	Paul Placeway
	Philippe-Andre Prindeville
	Gary Puckering
	Philippe Queinnec
	Bill Randle
	Christopher Rath
	Marc Ries
	Ashwin Ram
	Loren J. Rittle
	Philippe Robert
	Doug Roberts
	Kevin Rodgers
	Hagen Ross
	Arie Rudich
	Bruno Salvy
	Rich Salz
	Julio Sanchez
	Paul A. Sand
	Ken Scales
	Bart Schaefer
	Greg Schaffer
	Harald Schlangmann
	Vernon Schryver
	Martin Schulz
	David Shepherd
	Joel Shprentz
	Gregory Neil Shapiro
	Guy Shaw
	Tom Shott
	Duncan Sinclair
	Klaus Singvogel
	George M. Sipe
	David M. Smith
	Perry Smith
	Luis Soltero
	David Spuler
	Kevin B. Stanton
	Kjartan Stefansson
	Ken Stevens
	Andreas Stolcke
	Thos Sumner
	Bob Sutterfield
	Stefan Taxhet
	Gruppe Thi
	Thomas Tornblom
	Bill Triggs
	Marc Ullman
	Koaunghi Un
	Arjan de Vet
	Andrew Vignaux
	Christoph Vogelsang
	Gray Watson
	Patrick Weemeeuw
	Petri Wessman
	Michael Wester
	Peter Whaite
	Johan Widen
	Fredrik Wilhelmsen
	Moritz Willers
	Pace Willisson
	Joerg Winckler
	Bill Wohler
	Michael J. Wolski
	James Woods
	Frank Wuebbeling
	Avishai Yacobi
	Ken Yap
	Benny Yih
	Jamie Zawinski
	Christos S. Zoulas
