Русская Википедия:Emacs Lisp

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Язык программирования Emacs Lisp — диалект языка программирования Lisp, используемый в текстовых редакторах GNU Emacs и XEmacs. Бо́льшая часть Emacs реализована на Emacs Lisp. Иногда также сокращённо называется elisp, хотя может возникнуть путаница со старым диалектом, имеющим такое же название и никак не связанным с Emacs Lisp.

Emacs Lisp отличает мощная библиотека работы с текстовыми файлами, построенная на основе манипуляции такими встроенными примитивами, как буфер (Шаблон:Lang-en), выделенная область (Шаблон:Lang-en), точка (Шаблон:Lang-en) и пометка (Шаблон:Lang-en).

В отличие от других современных диалектов Лиспа (Common Lisp, Scheme), в Emacs Lisp присутствует только динамическая область видимости. Это не позволяет использовать такую технику функционального программирования, как замыкания. Расширение cl вносит в Emacs Lisp некоторые особенности Common Lisp, в том числе лексическую область видимости[1].

Пример

Пример макроса на Emacs Lisp:

(defmacro inc (var)
  `(setq ,var (1+ ,var)))

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Compu-lang-stub Шаблон:Лисп Шаблон:Emacs