Definition of the Language
The Text editors of GNU Emacs and XEmacs use Emacs Lisp as the basic dialect for the Lisp programming language. The dialect is used for the implementation of most of the editing functionality that has been made a part of the Emacs.
The remaining part of this editing functionality is written in C, including the interpreter for Lisp as well. Emacs Lisp is often called Elisp, despite the fact that an older and unrelated version of Lisp shares the same name. The codes of Emacs Lisp are written and used by the users of Emacs for the purpose of customization and extension of Emacs.
Emacs Lisp Programming Language – A History of Developments
The initial development of Lisp (LISt Processing language) was triggered by the research associated with artificial intelligence at the Massachusetts Institute of Technology in the year of late 1950s. The extensive power and functionality of Lisp language, however, makes it useful for other purposes as well, for instance the writing and editing of commands.
A large list of developments and upgrades has been made in the language since then. Each of the development had a set of unique features and characteristics. Most of these upgradations were taken as an inspiration from Maclisp, a language that was developed in the 1960s at Project MAC in MIT.
With the passage of time the people who implemented the descendants of Maclisp joined hands to work on the development of standards for Lisp Language. These standards were referred to as Common Lisp. Gerry Sussman and Guy Steele both started working on a powerful yet simplified dialect for Lisp – called Scheme.
The basic inspiration for the development of GNU Emacs Lisp is taken from Maclisp, and some from Common Lisp as well. Even though a large number of similarities exist between common Lisp and Emacs Lisp but some of the major features of Common Lisp had been eliminated from Emacs Lisps to simplify and reduce the memory requirements as well. Sometimes the simplifications can be so drastic that they may confuse a common Lisp user to a great extent.
The previously developed dialect – Schema – had no impact whatsoever on the development of Emacs Lisp. However, the GNU project has developed one implementation of Scheme, which is called Guile. This implementation is now used in all the software of GNU that have a need for extension.