Emacs Lisp

Emacs Lisp
Изображение логотипа
Семантика Функциональное программирование, Метапрограммирование
Класс языка язык программирования, язык функционального программирования, Лисп, сценарный язык, императивный и динамический язык программирования
Появился в 1985; 39 лет назад (1985)
Автор Ричард Столлман,
Гай Стил
Разработчик Проект GNU
Расширение файлов .el, .elc
Выпуск 28.1 (4 апреля 2022; 2 года назад (2022-04-04))
Система типов Динамическая, сильная
Испытал влияние Common Lisp, MacLisp
Лицензия GNU GPLv3
Сайт gnu.org/software/emacs
Платформа Кроссплатформенный
ОС Кроссплатформенный
Логотип Викисклада Медиафайлы на Викискладе

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

Emacs Lisp отличает мощная библиотека работы с текстовыми файлами, построенная на основе манипуляции такими встроенными примитивами, как буфер (англ. buffer), выделенная область (англ. region), точка (англ. point) и пометка (англ. mark).

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

Пример

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

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

Примечания

  1. GNU Emacs Common Lisp support, Lexical Bindings Архивировано 24 октября 2012 года.

Ссылки

  • Программирование на Emacs Lisp  (рус.). Дата обращения: 20 июля 2011. Архивировано из оригинала 4 февраля 2013 года.
  • An Introduction to Programming in Emacs Lisp (Third Edition) (англ.). Дата обращения: 12 января 2010. Архивировано из оригинала 3 марта 2012 года.
  • GNU Emacs Lisp Reference Manual (англ.). Дата обращения: 11 октября 2009. Архивировано из оригинала 3 марта 2012 года.
Перейти к шаблону «Лисп»
Характеристики
Объектные системы systems
Реализации
Стандарты
Common
Lisp
Scheme
ISLISP
Нестандартные
Лого
Операционная система
  • Common Lisp Interface Manager, McCLIM
  • Genera
  • Scsh
  • Аппаратное обеспечение
    Сообщество
    Стандарты
    Образование
    Книги
    • Common Lisp the Language
    • How to Design Programs (HTDP)
    • On Lisp
    Куррикулум
    • ProgramByDesign
    Разработчики
    Люди
    • Категория Категория
    • Категория Категория
    • Список Список
    Перейти к шаблону «Emacs»
    Реализации
    GNU и
    производные
    Другие
    • Climacs
    • Epsilon[англ.]
    • Freemacs[англ.]
    • EINE[англ.]
    • Gosling Emacs
      • Mocklisp[англ.]
    • Hemlock[англ.]
    • JOVE[англ.]
    • mg[англ.]
    • MicroEMACS
    • MINCE[англ.]
    • Multics Emacs
    • Perfect Writer[англ.]
    • GNU TeXmacs
    • vile[англ.]
    • Zmacs[англ.]
    • ZWEI[англ.]
    Логотоип GNU/Emacs
    Режимы
    • AUCTeX
    • Dired[англ.]
    • Dunnet[англ.]
    • Emacs Speaks Statistics[англ.]
    • Emacspeak[англ.]
    • EMMS[англ.]
    • ERC[англ.]
    • eww[англ.]
    • Gnus
    • Org-mode
    • Planner[англ.]
    • rcirc
    • RefTeX
    • SLIME
    • w3m
    Устройство
    • Emacs Lisp
    • MULE[англ.]
    Другое
    • Conkeror
    • Dissociated press[англ.]
    • Война редакторов[англ.]
    • Spacemacs[англ.]
    • Emacs На Викискладе
    • Emacs в Викицитатнике