it-swarm.com.ru

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

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

61
Joel McCracken

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

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

55
keparo

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

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

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

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

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

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

79
soegaard

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

11
Louis Gerbarg

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

В настоящее время схема MIT взломана в Ubuntu Linux (9.04 "jaunty"). Это может работать в будущем.

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

6
gdimike

Это было удивительно раздражающим, чтобы закончить на 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

3
Frederick Squid

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

1
Matt Curtis

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

1
htanata

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

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

brew chezscheme
man chez

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

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

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

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

0
Isaac Rabinovitch