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

Схема запуска от emacs

Я новичок в LISP.

Я пытаюсь вызвать интерпретатор схемы из emacs (версия 23 работает на окнах). Я загрузил библиотеку xscheme, указав emacs на M-x load-library, а затем введите xscheme в приглашении в минибуфере. Загрузилась библиотека, а затем я выпустил команду M-x run-scheme. (Я понимаю, что вся эта загрузка может быть сделана из .emacs при запуске, но на данный момент меня это не касается.)

До сих пор так хорошо - был создан буфер *scheme*, и теперь я надеюсь, что смогу поговорить с интерпретатором схемы.

Однако, когда я пытаюсь оценить что-то в этом буфере *scheme* (например, (define shoe-size 14)), я получаю это сообщение Output file descriptor of scheme is closed в минибуфере.

Кто-нибудь знает, как исправить это в emacs?

(Также, как установить основной режим как REPL в буфере *scheme*?)

Спасибо.

4b9b3361

Ответ 1

Попробуйте установить переменную scheme-program-name в путь к вашему интерпретатору Схемы. Основной режим буфера схемы, вероятно, всего лишь comint, и вы не можете много сделать, если не переключиться на нечто более способное, например Geiser - то, что я бы рекомендовал вам сделать.

Ответ 2

Добавьте эту строку в свой .emacs файл:

(setq scheme-program-name "gsi")

(Замените "gsi" именем вашего интерпретатора Схемы.)

Затем вы можете запустить интерпретатор с помощью M-x run-scheme. Вы можете оценить фрагменты кода, используя C-x C-e (чтобы оценить sexp перед точкой) или C-M-x, чтобы оценить sexp, в котором вы сейчас находитесь. Вы также можете загрузить файл с помощью C-c C-l.

Ответ 3

Начну с того, что я очень новичок в программировании, схеме и SICP, но я пытаюсь работать через курс и смотреть лекции, которые находятся в сети.
Я запускаю emacs на Ubuntu 12.10, и я действительно хотел, чтобы схема MIT работала в emacs вместо того, чтобы полагаться на Эдвина.
Приведенные выше советы не сработали для меня, но здесь пошаговые инструкции, которые действительно работали:

  • Установите emacs 24 из Ubuntu Software Center (найдите "emacs" и установите его!)
  • Откройте терминал (ALT + CTRL + t)
  • Перейдите в свой домашний каталог (cd ~)
  • Откройте скрытый файл .emacs в gedit (gedit .emacs)
  • В первой строке файла введите именно то, что после двоеточия: (require 'xscheme)
  • Сохраните изменения в .emacs
  • Что это!!!

Теперь вы можете открывать файлы .scm в emacs и использовать команды типа C-x C-e.

* направления любезно предоставлены http://alexott.net/en/writings/emacs-devenv/EmacsScheme.html#sec14

Ответ 4

Я предполагаю, что это просто известная проблема Я до сих пор не знаю, как разобраться в этом (это из моих текущих навыков), но я получил макрос, который, вероятно, помогает: сразу после записи s-exp вы можете сделать Cc-Cz (он вызывает REIS), затем C-spc, C-M-b, M-w, C-x-o, C-y и RET.

Есть вариация (такая же, как сразу после записи s-exp): C-spc, C-M-b, M-w, C-c Cz, C-y и RET