Какова лучшая реализация Схемы для работы через SICP? - PullRequest
61 голосов
/ 04 ноября 2008

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

Ответы [ 8 ]

79 голосов
/ 04 ноября 2008

Использование Ракетка (ранее схема PLT).

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

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

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

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

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

55 голосов
/ 04 ноября 2008

Использование Схема MIT .

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

11 голосов
/ 04 ноября 2008

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

6 голосов
/ 30 июня 2009

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

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

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

3 голосов
/ 12 ноября 2016

Удивительно, но на 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

1 голос
/ 18 августа 2016

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

1 голос
/ 04 ноября 2008

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

0 голосов
/ 28 декабря 2017

Я сейчас работаю через 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 вызвала первоначальный вопрос.

...