Emacs Lisp (Емакс Лісп, ELisp) — діалект мови програмування Лісп, який використовується в текстових редакторах GNU Emacs та для реалізації більшої частини функцій редагування. Як правило, програми на ELisp пишуться користувачами цих текстових редакторів для розширення їхніх функціональних можливостей.
Emacs Lisp | |
---|---|
Парадигма | функційне програмування, Метапрограмування і Рефлексія |
Дата появи | 1985 |
Творці | Річард Столмен і d |
Розробник | проєкт GNU |
Останній реліз | |
Система типізації | динамічна типізація[d] і строга типізація |
Під впливом від | Common Lisp і d |
Ліцензія | GNU GPL 3 |
Звичайні розширення файлів | .el [1] або .elc [1] |
Вебсайт | gnu.org/software/emacs |
|
Особливості
В Емакс Ліспі використовуються динамічні, а не статичні (лексичні) області видимості. Якщо змінну в , вона автоматично стає доступною всім підпрограмам, викликаним із цієї функції. Такий підхід було обрано з метою оптимізації; в той час лексичні діапазони видимості були незвичними з невідомою швидкодією. Динамічні області видимості мали також запропонувати більше гнучкості та можливостей для налаштувань. Однак, динамічні області видимості мають декілька недоліків. По-перше, вони можуть призводити до дефектів у великих програмах, через небажану взаємодію між змінними різних функцій. По-друге, доступ до змінних в динамічній області видимості, зазвичай, повільніший ніж у лексичних.
У версії 24.1, нарешті, було додано опціональну лексичну область видимості[недоступне посилання], для ввімкнення якої необхідно присвоїти змінній lexical-binding
значення t
.
Інтерпретатор Емакс Лісп не підтримує оптимізацію хвостової рекурсії.
Джерела інформації
- https://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Libraries.html
- «Emacs Lisp uses dynamic scoping because simple implementations of lexical scoping are slow.»[1] [ 22 жовтня 2007 у Wayback Machine.]; «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] [ 13 листопада 2007 у Wayback Machine.]
Див. також
У Вікіджерелах є тексти програм на ELisp |
- wikipedia-mode — програма на Емакс Лісп для полегшення редагування статей Вікіпедії.
Посилання
- ЕмаксВікі [ 6 грудня 2012 у Wayback Machine.](англ.)
- Introduction to Emacs Lisp Programming [Архівовано 3 березня 2012 у WebCite](англ.)
- Emacs Lisp Reference Manual [ 2 лютого 2007 у Wayback Machine.](англ.)
Це незавершена стаття про мови програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Emacs Lisp Emaks Lisp ELisp dialekt movi programuvannya Lisp yakij vikoristovuyetsya v tekstovih redaktorah GNU Emacs ta dlya realizaciyi bilshoyi chastini funkcij redaguvannya Yak pravilo programi na ELisp pishutsya koristuvachami cih tekstovih redaktoriv dlya rozshirennya yihnih funkcionalnih mozhlivostej Emacs LispParadigmafunkcijne programuvannya Metaprogramuvannya i RefleksiyaData poyavi1985TvorciRichard Stolmen i dRozrobnikproyekt GNUOstannij relizSistema tipizaciyidinamichna tipizaciya d i stroga tipizaciyaPid vplivom vidCommon Lisp i dLicenziyaGNU GPL 3Zvichajni rozshirennya fajliv el 1 abo elc 1 Vebsajtgnu org software emacs Mediafajli u VikishovishiOsoblivostiV Emaks Lispi vikoristovuyutsya dinamichni a ne statichni leksichni oblasti vidimosti Yaksho zminnu v vona avtomatichno staye dostupnoyu vsim pidprogramam viklikanim iz ciyeyi funkciyi Takij pidhid bulo obrano z metoyu optimizaciyi v toj chas leksichni diapazoni vidimosti buli nezvichnimi z nevidomoyu shvidkodiyeyu Dinamichni oblasti vidimosti mali takozh zaproponuvati bilshe gnuchkosti ta mozhlivostej dlya nalashtuvan Odnak dinamichni oblasti vidimosti mayut dekilka nedolikiv Po pershe voni mozhut prizvoditi do defektiv u velikih programah cherez nebazhanu vzayemodiyu mizh zminnimi riznih funkcij Po druge dostup do zminnih v dinamichnij oblasti vidimosti zazvichaj povilnishij nizh u leksichnih U versiyi 24 1 nareshti bulo dodano opcionalnu leksichnu oblast vidimosti nedostupne posilannya dlya vvimknennya yakoyi neobhidno prisvoyiti zminnij lexical binding znachennya t Interpretator Emaks Lisp ne pidtrimuye optimizaciyu hvostovoyi rekursiyi Dzherela informaciyihttps www gnu org software emacs manual html node emacs Lisp Libraries html Emacs Lisp uses dynamic scoping because simple implementations of lexical scoping are slow 1 22 zhovtnya 2007 u Wayback Machine 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 13 listopada 2007 u Wayback Machine Div takozhU Vikidzherelah ye teksti program na ELispwikipedia mode programa na Emaks Lisp dlya polegshennya redaguvannya statej Vikipediyi Posilannya EmaksViki 6 grudnya 2012 u Wayback Machine angl Introduction to Emacs Lisp Programming Arhivovano 3 bereznya 2012 u WebCite angl Emacs Lisp Reference Manual 2 lyutogo 2007 u Wayback Machine angl Ce nezavershena stattya pro movi programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi