Emacs mengimplementasikan juru bahasa untuk elisp di C yang berfungsi sebagai implementasi referensi de facto . Apakah ada implementasi elisp lain dalam bahasa lain (khususnya Javascript)? Apa satu set primitif minimal yang diperlukan untuk sepenuhnya mengimplementasikan elisp? Apa kesulitan mendasar dalam melakukannya (mis. Pelingkupan dinamis)?
12
Jawaban:
Guile Emacs adalah implementasi Emacs di mana juru bahasa asli Emacs Lisp digantikan oleh libguile baru-baru ini. Masih ada masalah interoperasi (Guile dan Emacs memiliki ide yang berbeda tentang string misalnya), tetapi kode Emacs Lisp yang ada sudah dapat digunakan (meskipun dengan regresi kinerja yang agak mengintimidasi).
Atau, ada nicferrier 's Ejit . README-nya menggambarkan kesulitan yang terlibat, seperti hal-hal tertentu yang hanya membuat konteks di Emacs dan bagaimana sekumpulan primitif dipilih sebelum mengkompilasi Emacs Lisp ke Javascript. Karena itu, ini bukan implementasi ulang, tetapi dapat membantu menjawab pertanyaan Anda yang terakhir.
sumber