Emacs Lisp

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 24 decembrie 2021; verificarea necesită 1 editare .
Emacs Lisp
Semantică Programare funcțională , Metaprogramare
Clasa de limba limbaj de programare , limbaj de programare functional , Lisp , limbaj de scripting , limbaj de programare imperativ si limbaj de programare dinamic
Aparut in 1985  ( 1985 )
Autor Richard Stallman ,
Guy Steele
Dezvoltator Proiectul GNU
Extensie de fișier .el, .elc
Eliberare 28.1 (4 aprilie 2022 ) ( 04.04.2022 )
Tip sistem dinamic , puternic
A fost influențat Common Lisp , MacLisp
Licență GNU GPLv3
Site-ul web gnu.org/software/emacs
Platformă Platformă transversală
OS Platformă transversală
 Fișiere media la Wikimedia Commons

Emacs Lisp  este un dialect al limbajului de programare Lisp utilizat în editorii de text GNU Emacs și XEmacs . Majoritatea Emacs-ului este implementată în Emacs Lisp. Uneori, abreviat și ca elisp , deși poate apărea confuzie cu un dialect mai vechi cu același nume care nu are nimic de-a face cu Emacs Lisp.

Emacs Lisp se distinge printr-o bibliotecă puternică pentru lucrul cu fișiere text, construită pe baza manipulării unor primitive încorporate precum un buffer (buffer engleză )  , o zonă selectată ( regiune engleză ), un punct ( punct englezesc ) și un marcaj. ( marca engleză ).    

Spre deosebire de alte dialecte Lisp moderne ( Common Lisp , Scheme ), Emacs Lisp are doar un domeniu dinamic . Acest lucru previne utilizarea tehnicilor de programare funcțională , cum ar fi închiderile . Extensia cl aduce câteva caracteristici Common Lisp la Emacs Lisp, inclusiv scoping lexical [1] .

Exemplu

Exemplu de macro în Emacs Lisp:

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

Note

  1. Compatibilitate GNU Emacs Common Lisp, Lexical Bindings Arhivat 24 octombrie 2012.

Link -uri