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

Как запустить схему с Emacs?

Я последовал за этим учебником и успешно установил Emacs, STk, Quack.

Вопрос в том, как загрузить мою программу, как в Racket?

В Racket я могу изменить свой код в верхнем окне, ввести некоторые коды, сохранить и запустить. Тогда в нижнем окне будет автоматически загружен код, который я только что написал. Тогда я могу играть с ним.

Я пробовал M-x run-scheme. Это только вводит меня в мит-схему типа. Тогда он говорит, что нет такого файла или каталога. Затем я попробовал F5 (автор с сайта написал файл .emacs, который позволяет мне нажать F5). Затем открывается STk. Я могу загрузить файл схемы в STk. Но это вернет меня к MIT Scheme с помощью edwin.

Я хочу иметь то же самое в Racket (Write/REPL). Но большая гибкость с ключевым движением. В Racket у вас нет C-f C-n C-a... и т.д.

Может ли кто-нибудь научить меня, как это сделать?

4b9b3361

Ответ 1

Я буквально просто установил это на своем Macbook. Поскольку вы не указали, в какой системе вы находитесь, я надеюсь, что вы используете какой-то Unix-вкус... Я не знаком с STk, но это может помочь вам разобраться во всех проблемах, которые у вас есть, что действительно звучит как и проблемы, с которыми я столкнулся.

Если вы устанавливаете реализацию Scheme (я использую MIT Scheme, отредактированный, чтобы добавить, что это также работает с Racket, используя mzscheme), он может иметь символическую ссылку с именем "схема" - это то, что ищет Emacs, я думаю.

Если это не так (схема MIT не отображается в OS X), вы можете отредактировать конфигурацию Emacs в типе Emacs M-x customize-group, затем введите scheme. Прокрутите немного вниз и найдите поле Scheme program name. Измените его на команду реализации схемы, например mit-scheme или mzscheme. Вы также можете просто создать символическую ссылку в своем PATH, которая указывает на правильный двоичный файл:

sudo ln -s /Applications/mit-scheme.app/Contents/Resources/mit-scheme
    /usr/local/bin/scheme

Для схемы MIT вам также необходимо установить переменную MITSCHEME-LIBRARY-PATH, поэтому добавьте ее в свой .emacs.

(setenv "MITSCHEME_LIBRARY_PATH"
    "/Applications/mit-scheme.app/Contents/Resources")

Затем вы сможете запустить нижний буфер схемы с помощью M-x run-scheme. И передайте код в REPL с помощью C-x C-e, который оценивает выражение перед точкой.

Если это не работает (это не для меня), вам может потребоваться убедиться, что путь, используемый Emacs для выполнения команд оболочки, содержит символическую ссылку scheme или любой другой каталог, содержащий двоичный файл для вашей реализации. С некоторыми экспериментами я исправил это, добавив это в мой файл .emacs:

Emacs игнорирует мой путь, когда он запускает команду компиляции

Для справок другой вопрос SO, который я использовал для этого:

Как получить интерпретатор схемы, работающий внутри Emacs?

Ответ 2

64-разрядная загрузка из GNU теперь имеет .app, называемую "MIT: GNU Scheme.app". Я пробовал инструкции @spacemanaki, но я продолжал получать:

bash-3.2$ export MITSCHEME_LIBRARY_PATH=/Applications/MIT:GNU\ Scheme.app/Contents/Resources
bash-3.2$ scheme
    scheme: can't find a readable default for option --band.
    searched for file all.com in these directories:
    /Applications/MIT
    /Applications/MIT:GNU Scheme.app/Contents/Resources/GNU Scheme.app/Contents/Resources

В конце концов я понял, что точка с запятой действует как разделитель путей. Поэтому просто убедитесь, что вы переименовали его:

mv MIT:GNU\ Scheme.app/ mit-scheme.app

Затем приведенные выше инструкции будут работать нормально - хотя вам, возможно, придется использовать Finder для выполнения переименования, потому что когда я это сделал в оболочке, моя папка Resources исчезла.

Ответ 3

Я бы рекомендовал использовать Homebrew для установки мит-схемы с помощью простой команды brew install mit-scheme, если вы находитесь на Mac. Найдите ~/.emacs file, если он не существует, затем создайте его, добавьте в конец файла:

(setq scheme-program-name  "your/mit-scheme/path")

Используйте команду which mit-scheme, чтобы узнать, где была установлена ​​ваша мит-схема. Возьмите MacOS X в качестве примера:

(seq scheme-program-name   "/usr/local/bin/mit-scheme")

Сохраните его и закройте. Затем перезапустите Emacs и введите M+x, и вы находитесь в мит-симе.