Elisp yeniden uygulamaları


12

Emacs, fiili referans uygulaması olarak işlev gören C'deki elisp için bir tercüman uygular. Elisp'in diğer dillerde (özellikle Javascript) başka uygulamaları var mı? Elisp'i tamamen yeniden uygulamak için gereken minimum ilkel kümeler nelerdir? Bunu yapmanın temel zorlukları nelerdir (örneğin dinamik kapsam belirleme)?


İyi bir başlangıç ​​noktası: en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours Şema ve elisp'in farklılıkları olsa da, yukarıdaki temel şeyleri anlamak için yukarıda iyi bir başlangıç ​​olduğunu düşünüyorum.
Renan Ranelli

Yanıtlar:


5

Guile Emacs , orijinal Emacs Lisp yorumlayıcısının yakın zamanda libguile ile değiştirildiği bir Emacs uygulamasıdır. Hala birlikte çalışma sorunları var (Guile ve Emacs dizeler hakkında farklı fikirlere sahip), ancak mevcut Emacs Lisp kodu zaten kullanılabilir (oldukça korkutucu performans gerilemeleriyle).

Alternatif olarak, orada nicferrier 'ın Ejit . README'sinde Emacs Lisp'i Javascript'e derlemeden önce sadece Emacs'ta bağlam oluşturan belirli şeyler ve asgari bir ilkel kümenin nasıl seçildiği gibi ilgili zorluklar açıklanmaktadır. Bu nedenle, bu bir yeniden uygulama değildir, ancak sonraki sorularınızı yanıtlamanıza yardımcı olabilir.


Sadece bir not: Ejit JS'ye derler, JS'de yazılmaz.
Malabarba

Evet, bu paragraf asgari ilkel kümesinin ne olduğu sorusuna yanıt olarak tasarlandı, çünkü amaç JS'ye derlemeden önce bunları mümkün olduğunca tanımak ve basitleştirmek. Bazı zorluklar da (tamponlar ve daha az anlamlı olan özellikleri gibi) açıklanmaktadır.
wasamasa

2
Sanırım Guile'nin kendisine işaret etmek istiyorsun. Guile Emacs projesi, önemli bir kullanım örneği olmakla birlikte, burada bir yan nottur.
phils
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.