Help


[permalink] [id link]
+
Page "Emacs Lisp" ¶ 3
from Wikipedia
Edit
Promote Demote Fragment Fix

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 )).
Common Lisp is a dialect of Lisp ; it uses S-expressions to denote both code and data structure.
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.
* Scheme ( programming language ), a minimalist, multi-paradigm dialect of Lisp
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 Lispused dynamically scoped variables in their interpreters and lexically scoped variables in their compilers.
With Common Lisp incremental compilation is widely used.
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.
; Codemist Common Lisp: used for the commercial version of the computer algebra system Axiom
; Kyoto Common Lisp: the first Common Lisp compiler that used C as a target language.
; Procyon Common Lisp: an implementation for Windows and Mac OS, used by Franz for their Windows port of Allegro CL
; SubL: a variant of Common Lisp used for the implementation of the Cyc knowledge-based system
Common Lisp is used to develop research applications ( often in Artificial Intelligence ), for rapid development of prototypes or for deployed applications.
Common Lisp is used in many commercial applications, including the Yahoo!
* 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.
Users of Emacs commonly write Emacs Lisp code to customize and extend Emacs.
Emacs Lisp can also function as a scripting language, much like the Unix Bourne shell, Perl, Python, scsh, or GNU Guile.
For example: Emacs Lisp uses dynamic rather than lexical scope by default.
Other methods exist for customizing GNU Emacs apart from writing Emacs Lisp.
" 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.
; Steel Bank Common Lisp ( SBCL ): A branch from CMUCL.
GCL, ECL and MKCL originate from this Common Lisp implementation.
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.
GNU Common Lisp ( GCL ) was derived from AKCL.
Embeddable Common Lisp ( ECL ) was also derived from KCL.
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.
Logo inherits lists from Lisp, and they are its primary method of storing vectors.

0.173 seconds.