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 - лучший выбор.
Ответы
Ответ 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.
Ответ 4
В последнее время было несколько интересных дискуссий по этой теме:
Ответ 5
Я не стал бы слишком беспокоиться об этом. Есть несколько проектов для использования Guile с Emacs, но я чувствую, что они не поддерживаются в основном. Как один из разработчиков одного из наблюдаемых проектов, никто не переключится, если все их существующие elisp не работают безупречно в новом движке, что является довольно высокой задачей.
Не то, чтобы этого никогда не случится, оно просто было "в облаках" в течение нескольких лет.
Ответ 6
Использование VM как parrot кажется более интересным для будущего, чем Guile, поскольку Parrot VM может обрабатывать много разных динамических языков, и каждый язык может повторно использовать то, что было разработано на другом языке.
Остальная работа:
- добавление emacs низкоуровневых концепций и функций в Parrot VM (основные типы elisp, такие как тип буфера, окно, фрейм...)
- создание порта языка elisp для Parrot VM.
С такими функциональными возможностями у вас может быть весь старый код elisp, запущенный на Parrot VM без каких-либо проблем с переносом, а новый код может быть разработан и повторно использован любым языком, поддерживаемым Parrot VM.