[permalink] [id link]
The Lisp dialect used in Emacs differs substantially from the more modern Common Lisp and Scheme dialects commonly used for applications programming.
from
Wikipedia
Some Related Sentences
Lisp and dialect
Common Lisp ( CL ) is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 ( R2004 ), ( formerly X3. 226-1994 ( R1999 )).
Lisp Machines ( from Symbolics, TI and Xerox ) provided implementations of Common Lisp in addition to their native Lisp dialect ( Lisp Machine Lisp or InterLisp ).
Emacs Lisp is a dialect of the Lisp programming language used by the GNU Emacs and XEmacs text editors ( which this article will refer to collectively as " Emacs ").
Some people refer to Emacs Lisp as Elisp, at the risk of confusion with an older unrelated Lisp dialect with the same name.
In terms of features, it is closely related to the Maclisp dialect, with some later influence from Common Lisp.
Unlike Common Lisp, Scheme existed at the time Stallman was rewriting Gosling Emacs into GNU Emacs, but he chose not to use it because of its comparatively poor performance on workstations, and he wanted to develop a dialect which he thought would be more easily optimized.
Also in the 1970s, the development of Scheme ( a partly functional dialect of Lisp ), as described in the influential Lambda Papers and the 1985 textbook Structure and Interpretation of Computer Programs, brought awareness of the power of functional programming to the wider programming-languages community.
It is an adaptation and dialect of the Lisp language ; some have called it Lisp without the parentheses.
For instance, in a Lisp dialect that has < CODE > cond </ CODE > but lacks < CODE > if </ CODE >, it is possible to define the latter in terms of the former using macros.
Unlike Common Lisp, the other main dialect, Scheme follows a minimalist design philosophy specifying a small standard core with powerful tools for language extension.
Scheme was the first dialect of Lisp to choose lexical scope and the first to require implementations to perform tail-call optimization.
The key insights on how to introduce lexical scoping into a Lisp dialect were popularized in Sussman and Steele's 1975 Lambda Paper, " Scheme: An Interpreter for Extended Lambda Calculus ",
Lisp and used
Though Common Lisp is not as popular as some non-Lisp languages, many of its features have made their way into other, more widely used programming languages and systems ( see Greenspun's Tenth Rule ).
Most of the Lisp systems whose designs contributed to Common Lisp — such as ZetaLisp and Franz Lisp — used dynamically scoped variables in their interpreters and lexically scoped variables in their compilers.
CCL was previously known as OpenMCL, but that name is no longer used, to avoid confusion with the open source version of Macintosh Common Lisp.
; Procyon Common Lisp: an implementation for Windows and Mac OS, used by Franz for their Windows port of Allegro CL
Common Lisp is used to develop research applications ( often in Artificial Intelligence ), for rapid development of prototypes or for deployed applications.
* PWGL is a sophisticated visual programming environment based on Common Lisp, used in Computer assisted composition and sound synthesis.
* OpenMusic is an object-oriented visual programming environment based on Common Lisp, used in Computer assisted composition.
It is used for implementing most of the editing functionality built into Emacs, the remainder being written in C ( as is the Lisp interpreter itself ).
Richard Stallman chose Lisp as the extension language for his rewrite of Emacs ( the original used TECO as its extension language ) because of its powerful features, including the ability to treat functions as data.
However, prominent functional programming languages such as Common Lisp, Scheme, ISLISP, Clojure, Racket, Erlang, OCaml, Haskell, Scala and F # have been used in industrial and commercial applications by a wide variety of organizations.
* In programming languages such as Lisp and Python, lambda is an operator used to denote anonymous functions or closures, following the usage of lambda calculus.
Lisp and Emacs
Common Lisp is a general-purpose programming language, in contrast to Lisp variants such as Emacs Lisp and AutoLISP which are embedded extension languages in particular products.
Emacs Lisp can also function as a scripting language, much like the Unix Bourne shell, Perl, Python, scsh, or GNU Guile.
" Customize " works by writing Emacs Lisp code for the user, and is limited to relatively simple customizations.
Lisp and from
Scheme predates CL, and comes not only from the same Lisp tradition but from some of the same engineers — Guy L. Steele, with whom Gerald Jay Sussman designed Scheme, chaired the standards committee for Common Lisp.
Scheme introduced the sole use of lexically scoped variables to Lisp ; an inspiration from ALGOL 68 which was widely recognized as a good idea.
Dylan derives from Scheme and Common Lisp and adds an integrated object system derived from the Common Lisp Object System ( CLOS ).
Although deriving much of its semantics from Scheme and other Lisps — some implementations were in fact initially built within existing Lisp systems — Dylan has an ALGOL-like syntax rather than a Scheme-like prefix syntax.
Information Processing Language was the first AI language, from 1955 or 1956, and already included many of the concepts, such as list-processing and recursion, which came to be used in Lisp.
0.173 seconds.