Emacs implémente un interpréteur pour elisp en C qui sert d' implémentation de référence de facto . Existe-t-il d'autres implémentations d'elisp dans d'autres langues (en particulier Javascript)? Quel est un ensemble minimal de primitives nécessaires pour réimplémenter pleinement elisp? Quelles sont les difficultés essentielles pour ce faire (par exemple, cadrage dynamique)?
12
Réponses:
Guile Emacs est une implémentation Emacs où l'interpréteur Emacs Lisp original a été remplacé récemment par libguile. Il y a encore des problèmes d'interopérabilité (Guile et Emacs ont des idées différentes sur les chaînes par exemple), mais le code Emacs Lisp existant peut déjà être utilisé (bien qu'avec des régressions de performances plutôt intimidantes).
Alternativement, il y a l' Ejit de nicferrier . Son fichier README décrit les difficultés impliquées, telles que certaines choses ne faisant que du contexte dans Emacs et comment un ensemble minimal de primitives est choisi avant de compiler Emacs Lisp en Javascript. Ce n'est donc pas vraiment une réimplémentation, mais pourrait aider à répondre à vos dernières questions.
la source