Emacs Lisp

Матеріал з Вікіпедії — вільної енциклопедії.

Перейти до: навігація, пошук

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

Зміст

[ред.] Особливості

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

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

[ред.] Джерела інформації

  1. "Emacs Lisp uses dynamic scoping because simple implementations of lexical scoping are slow."[1]; "I asked RMS when he was implementing emacs lisp why it was dynamically scoped and his exact reply was that lexical scope was too inefficient."[2]

[ред.] Дивіться також

  • wikipedia-mode — програма на Ємакс Лісп для полегшення редагування статей Вікіпедії.

[ред.] Ресурси інтернет


Комп'ютер Це незавершена стаття про комп'ютери.
Ви можете допомогти проекту, виправивши або дописавши її.
Особисті інструменти