Подтвердить что ты не робот

Guile и Emacs?

Я изучаю Emacs Lisp, и я наткнулся на это старое сообщение, в котором говорилось, что в какой-то момент Guile (Scheme) заменит Emacs Lisp, или Emacs будет переписан с Guile.

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

Мне было интересно, если это все еще возможно, и если разработчики должны пытаться написать Elisp с этим в виду? Первоначальная цель состояла в том, чтобы Guile была обратно совместима с Elisp, но похоже, что разработка Scheme - лучший выбор.

4b9b3361

Ответ 1

guile и emacs, снова - обновленный Emacs src, используя не взломанный Guile, 23 августа 2009 г.

PS: Недавно я замечал, что мой первый передать в исходное дерево Emacs касающиеся этого проекта 1999-08-28, просто застенчивый десять лет назад. Я не уверен, что я должен праздновать или быть подавленным в пятницу.

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

Ответ 2

Это должно быть возможно после выпуска Guile 2.0 для использования Guile с Emacs. Текущий предварительный релиз поддерживает ecmascript, а также схему, и, по-видимому, есть ветвь elisp, но я не изучал ее. После того, как Guile полностью поддерживает elisp, не должно быть слишком сложно заменить текущий интерпретатор elisp на Guile. Реальный вопрос заключается в том, будут ли люди переписывать свои настройки и дополнения в схему или просто продолжать использовать elisp. Несмотря на это, Guile 2.0 должен сделать возможность Guile Emacs намного ближе к реальности, чем любое другое развитие за последние 10 лет.

Ответ 3

Guile 2.0.0 (выпущено 2011-02-06) поддерживает Emacs Lisp.

Вы можете переключиться на repl так:

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

Что касается того, если/когда кто-то собирается сделать некоторую операцию на Emacs для извлечения элипса и перехода в Guile-in-elisp-mode: справочное руководство Guile 2.0.2 предполагает, что это план, но он еще не готов:

Мы надеемся, что в конечном итоге Guile's реализация Elisp будет хорошей достаточно, чтобы заменить собственный Emacs реализация Elisp.

Ответ 5

Я не стал бы слишком беспокоиться об этом. Есть несколько проектов для использования Guile с Emacs, но я чувствую, что они не поддерживаются в основном. Как один из разработчиков одного из наблюдаемых проектов, никто не переключится, если все их существующие elisp не работают безупречно в новом движке, что является довольно высокой задачей.

Не то, чтобы этого никогда не случится, оно просто было "в облаках" в течение нескольких лет.

Ответ 6

Использование VM как parrot кажется более интересным для будущего, чем Guile, поскольку Parrot VM может обрабатывать много разных динамических языков, и каждый язык может повторно использовать то, что было разработано на другом языке.

Остальная работа:

  • добавление emacs низкоуровневых концепций и функций в Parrot VM (основные типы elisp, такие как тип буфера, окно, фрейм...)
  • создание порта языка elisp для Parrot VM.

С такими функциональными возможностями у вас может быть весь старый код elisp, запущенный на Parrot VM без каких-либо проблем с переносом, а новый код может быть разработан и повторно использован любым языком, поддерживаемым Parrot VM.