Маленький интриган и ракетка

Я начинаю читать Little Schemer и теперь вместо PLT Scheme у нас есть Racket. Я хотел бы знать, подходит ли Racket для выполнения упражнений из книги или мне нужен другой настоящий компилятор Scheme. Прежде чем я забыл вам сказать, моя ОС - Windows x64.

Книга, язык и парадигма достаточно сложны, я бы хотел избежать проблем с компилятором.

Заранее большое спасибо.


person Marcote    schedule 22.10.2012    source источник


Ответы (4)


DrRacket - это (r) эволюция DrScheme; DrRacket отлично подойдет для упражнений в "Маленьком интригане". Только не забудьте:

  1. В диалоговом окне Language выберите «Использовать язык, указанный в исходном коде».
  2. Напишите #lang racket в верхней части каждого создаваемого файла.
  3. Реализуйте предикат atom? в каждом файле, как описано в самом начале книги.
  4. Если вы собираетесь повторно реализовать существующую процедуру, сделайте это на отдельной вкладке или в отдельном окне, потому что попытка переписать процедуру в окне редактирования приведет к duplicate definition for identifier ошибке. При необходимости используйте несколько файлов для сохранения определений процедур.
person Óscar López    schedule 22.10.2012
comment
Грасиас Оскар, абразо из Аргентины. - person Marcote; 22.10.2012
comment
Con mucho gusto! Acabo de editar mi respuesta, tiene varios tips adicionales для использования DrRacket con The Little Schemer - person Óscar López; 22.10.2012
comment
Я использовал racket, но отмечу, что мне нужно изменить все примеры, чтобы включить цитату. Как будто вы не можете просто войти (чашка кофе, чашка чая и чашка хика), это должно быть (чашка кофе, чашка чая и чашка хика) с ведущей цитатой. - person user3810626; 22.08.2016

Вам действительно нужна функция atom?. В предисловии к книге описывается, по сути, следующее:

(define (atom? x)
  (and (not (pair? x)) (not (null? x))))

Как уже упоминалось, он должен соответствовать этому тесту:

(atom? '()) ;=> #f

Обратите внимание, что в Racklog также есть определение, которое не удовлетворяет этому тест.

Более подробное обсуждение atom? находится здесь .

Несмотря на предложение книги реализовать add1 и sub1, Racket делает их уже предоставляет.

Кстати, я использую Vim для редактирования Racket, но поддерживает несколько других редакторов.

person Micah Elliott    schedule 19.08.2015
comment
Точно сказать не могу; наверное никакого отношения не имеет. Я только что наткнулся на него, ища атом? func. Было легко попробовать, но увидел, что это не сработает, поэтому подумал, что стоит предупредить. - person Micah Elliott; 24.08.2015

У меня был автор книги как профессор. Теперь он сам использует Racket, но в качестве текстового редактора использует Emacs.

person Mardin Yadegar    schedule 11.07.2014

Ракетка / Схема взаимозаменяемы. Вы должны быть в состоянии ответить им на любое упражнение. Удачи.

Также я рекомендую скачать доктора Ракета в качестве переводчика.

person davepmiller    schedule 22.10.2012