factograf
UK
Увійти

Emacs Lisp

Emacs Lisp
Усі дані картки 10
Парадигма
функційне програмування, метапрограмування і рефлексія
Дата появи
1985
Творці
Річард Столмен і Guy L. Steeled
Розробник
проєкт GNU
Останній реліз
31.1.50
Система типізації
динамічна типізація і строга типізація
Під впливом від
Common Lisp і Maclispd
Ліцензія
GNU GPL 3
Звичайні розширення файлів
.el або .elc
Вебсайт
gnu.org/software/emacs

Emacs Lisp (Емакс Лісп, ELisp) — діалект мови програмування Лісп, який використовується в текстових редакторах GNU Emacs та XEmacs для реалізації більшої частини функцій редагування. Як правило, програми на ELisp пишуться користувачами цих текстових редакторів для розширення їхніх функціональних можливостей.

Особливості

В Емакс Ліспі використовуються динамічні, а не статичні (лексичні) області видимості. Якщо змінну задекларовано в області видимості функції, вона автоматично стає доступною всім підпрограмам, викликаним із цієї функції. Такий підхід було обрано з метою оптимізації; в той час лексичні діапазони видимості були незвичними з невідомою швидкодією. Динамічні області видимості мали також запропонувати більше гнучкості та можливостей для налаштувань. Однак, динамічні області видимості мають декілька недоліків. По-перше, вони можуть призводити до дефектів у великих програмах, через небажану взаємодію між змінними різних функцій. По-друге, доступ до змінних в динамічній області видимості, зазвичай, повільніший ніж у лексичних.

У версії 24.1, нарешті, було додано опціональну лексичну область видимості[недоступне посилання], для ввімкнення якої необхідно присвоїти змінній lexical-binding значення t.

Інтерпретатор Емакс Лісп не підтримує оптимізацію хвостової рекурсії.

Читати далі

18 мовами

Текст із Вікіпедії, CC BY-SA 4.0 · Стаття-джерело