20

私は Emacs Lisp を学んでいて、ある時点で Guile (Scheme) が Emacs Lisp に置き換わるか、または Emacs が Guile で書き直されるという 10 年前の投稿に出くわしました。

https://web.archive.org/web/20081201143448/http://sanpietro.red-bean.com/guile/guile/old/3114.html

これがまだ可能性があるかどうか、そして開発者がこれを念頭に置いて Elisp を作成しようとする必要があるかどうか疑問に思っていましたか? 当初の目標は、Guile が Elisp と後方互換性を持つことでしたが、Scheme を開発する方が良い選択のようです。

4

6 に答える 6

9

Guile 2.0.0 (2011 年 2 月 6 日リリース) は Emacs Lisp をサポートします。

次のようにreplで切り替えることができます:

 scheme@(guile-user)> ,language elisp
 Happy hacking with Emacs Lisp!  To switch back, type `,L scheme'.
 elisp@(guile-user)> (eq 1 2)
 $1 = #nil

誰かが Emacs で elisp を抽出して Guile-in-elisp-mode にドロップする操作を行うかどうか/いつ行うかについて: Guile 2.0.2 リファレンス マニュアルでは、これが計画であると示唆されていますが、まだ準備が整っていません。

最終的に Guile の Elisp の実装が、Emacs 独自の Elisp の実装に取って代わるのに十分なものになることを願っています。

于 2011-07-06T11:53:28.747 に答える
9

Guile 2.0 がリリースされた後、Emacs で Guile を使用できるようになるはずです。現在のプレリリースでは、スキームだけでなく ecmascript もサポートされており、明らかに elisp ブランチもありますが、私は調べていません。Guile が elisp を完全にサポートすれば、現在の elisp インタープリターを Guile に置き換えるのは難しくありません。本当の問題は、人々が自分のカスタマイズやアドオンをスキームに書き直すか、単に elisp を使い続けるかということです。とにかく、Guile 2.0 は、過去 10 年間のどの開発よりも、Guile Emacs の可能性を現実に近づけるはずです。

于 2009-11-11T15:12:06.870 に答える
8

guile と emacs、再び - ハッキングされていない Guile を使用して Emacs src を更新、 2009 年 8 月 23 日

PS: このプロジェクトに関連する Emacs ソース ツリーへの最初のコミットが 1999 年 8 月 28 日で、ちょうど 10 年前のことであることに最近気付きました。金曜日にお祝いをするべきか、落ち込むべきか迷っています。

http://lists.gnu.org/archive/html/guile-devel/2009-08/msg00163.html

于 2009-11-03T08:50:50.817 に答える
4

最近、このトピックに関していくつかの興味深い議論がありました。

于 2010-07-24T13:39:09.490 に答える
2

私はそれについてあまり心配しません。GuileをEmacsで使用するプロジェクトはいくつかありますが、メインラインでサポートされていないように感じます。あるプロジェクトの開発者の1人が観察したように、既存のelispがすべて新しいエンジンで問題なく実行されない限り、誰も切り替えません。これはかなり難しい作業です。

それが決して起こらないというわけではありません、それはほんの数年の間「雲の中に」ありました。

于 2009-11-02T21:10:43.313 に答える
2

Parrot VM は多くの異なる動的言語を処理し、各言語は別の言語で開発されたものを再利用できるため、 parrotのような VM を使用することは Guile よりも将来的に興味深いようです。

やるべきことは次のとおりです。

  • emacs の低レベルの概念と関数を Parrot VM に追加する (バッファー タイプ、ウィンドウ、フレームなどの基本的な elisp タイプ)
  • Parrot VM への elisp 言語ポートの作成。

このような機能を使用すると、移植の問題なしにすべてのレガシー elisp コードを Parrot VM で実行でき、Parrot VM がサポートする任意の言語で新しいコードを開発して再利用できます。

于 2010-07-23T13:38:05.580 に答える