Emacs Lisp
Emacs Lisp | |
---|---|
Семантика | Функциональное программирование, Метапрограммирование |
Класс языка | язык программирования, язык функционального программирования, Лисп, сценарный язык, императивный и динамический язык программирования |
Появился в | 1985 |
Автор |
Ричард Столлман, Гай Стил |
Разработчик | Проект GNU |
Расширение файлов |
.el, .elc |
Выпуск | 28.1 (4 апреля 2022 ) |
Система типов | Динамическая, сильная |
Испытал влияние | 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)))
Примечания
[править | править код]- ↑ 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 года.
Это заготовка статьи о компьютерных языках. Помогите Википедии, дополнив её. |