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

StackOverflow https://stackoverflow.com/questions/260685

  •  06-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

Используйте ракетку (ранее схема 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 .

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

Я только начал заниматься SICP на этой неделе.

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

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

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

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

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

racket -l sicp --repl

Который вы, возможно, захотите сократить до схема . В Bash это было бы

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

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

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

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

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

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

brew chezscheme
man chez

Если у вас есть домашний напиток , который вам действительно нужен.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top