O Emacs implementa um intérprete para elisp em C, que serve como a implementação de referência de fato . Existem outras implementações do elisp em outros idiomas (principalmente Javascript)? O que é um conjunto mínimo de primitivas necessárias para reimplementar completamente o elisp? Quais são as dificuldades essenciais para fazê-lo (por exemplo, escopo dinâmico)?
12
Respostas:
Guile Emacs é uma implementação do Emacs onde o intérprete Emacs Lisp original foi substituído por libguile recentemente. Ainda existem problemas de interoperação (o Guile e o Emacs têm idéias diferentes sobre strings, por exemplo), mas o código Emacs Lisp existente já pode ser usado (embora com regressões de desempenho bastante intimidadoras).
Como alternativa, existe o Ejit do nicferrier . Seu README descreve as dificuldades envolvidas, como certas coisas que apenas contextualizam no Emacs e como um conjunto mínimo de primitivas é escolhido antes da compilação do Emacs Lisp para Javascript. Portanto, não é realmente uma reimplementação, mas pode ajudar a responder às suas últimas perguntas.
fonte