Какова наилучшая реализация Схемы для работы через SICP?

Я использовал PLT Scheme, но у него есть некоторые проблемы. Кто-нибудь знает о лучшей реализации для работы через SICP?

Ответ 1

Используйте Схема MIT.

Он рекомендован авторами SICP и используется в MIT для курса 6.001: Структура и интерпретация компьютерных программ.

Ответ 2

Используйте Racket (ранее PLT-схема).

DrRacket IDE - отличная отправная точка для всех схем, включая SICP.

Чтобы найти ключевые слова в документации, поместите курсор на ключевое слово и нажмите F1. В DrRacket вы можете видеть изображения непосредственно в REPL (цикл чтения-eval-print).

Поддержка SICP для DrRacket, Нил ван Дайк.

Обновление: новый пакет SICP находится на http://pkgs.racket-lang.org/#[sicp]      Загрузите его с помощью диспетчера пакетов (в DrRacket) или используйте raco.       Manual

Update2: Также, если вы хотите попробовать новую реализацию языка изображения SICP, загрузите sicp-pict2.rkt.

Ответ 3

Схема MIT/GNU, просто убедитесь, что вы загружаете совместимость SICP пакет (да, они предоставляют конкретные библиотеки для повышения эффективности работы SICP).

Ответ 4

Я только что начал делать SICP на этой неделе.

В настоящее время MIT Scheme нарушена в Ubuntu Linux (9.04 "jaunty" ). Он может работать в будущем.

DrScheme работает и работает хорошо. Вы можете использовать вышеуказанный пакет или пакет Neil Van Dyke, который основан на пакете soegard и доступен из http://www.neilvandyke.org/sicp-plt/. Самое приятное в этом пакете, что при установке вы можете выбрать пункт меню Language | Choose Language...., чтобы выбрать SICP.

Ответ 5

Это было удивительно раздражать, чтобы сделать это на macOS. Вот как это работает на сегодняшний день, если у вас есть Homebrew. (Возможно, нужно время от времени запускать brew update).

brew cask install racket
raco setup  # might be optional
raco pkg install sicp

Теперь вы можете (require sicp) или просто запустить

racket -l sicp --repl

Что вы можете сократить до scheme. В bash, который будет

alias scheme='racket -l sicp --repl'

который вы можете добавить в свой ~/.bashrc

Ответ 6

Схема PLT работает очень хорошо, или Схема MIT как предложил Кепаро. Какие у вас проблемы с этим?

Ответ 7

CHICKEN Scheme имеет sicp library, которая обеспечивает поддержку для SICP. Вы можете установить его, запустив chicken-install sicp и записывая это в начале исходного кода: (use sicp).

Ответ 8

Теперь я работаю через SICP, используя Chez Scheme. Это довольно старый диалект Схемы, поэтому, по-видимому, это не слишком далеко от того, что было написано в SICP.

Обратите внимание, что страница проекта Chez Scheme связывает двоичный файл Windows и источник, который может быть построен на Unix-подобных платформах. Но если вы на Mac, вы, вероятно, захотите сделать

brew chezscheme
man chez

Предполагая, что у вас есть доморощенный, что вам действительно нужно.

Почему бы не MIT Scheme? Поскольку интерактивным интерфейсом является Edwin, редактор, который использует соглашения EMACS. (В настоящее время это реальный режим EMACS, который раньше использовался на Схеме.) Раньше я знал основные EMACS, но мои навыки были атрофированы из-за неиспользования, что говорит мне, что переучивание этого редактора просто не стоит того.

Почему бы не DrRacket? Если бы я видел инструкции для варки @frederick-squid, я бы попробовал. Вместо этого я попытался следовать официальным инструкциям для схемы и sicp, которые серьезно устарели. Затем я попытался заставить IDE перейти в режим схемы, который кажется интуитивным, но это не так.

Просто слишком много неприятностей. И я не уверен, что хочу попасть в дизайн IDE с фантастическим языком, особенно тот, чья плохая поддержка Scheme вызвала оригинальный вопрос.