Как мне ввести код для упражнений в SICP?

scheme sicp mit-scheme

438 просмотра

4 ответа

22 Репутация автора

Я использовал цикл печати eval, но должен ли я использовать что-то еще?

Автор: Ethan Watson Источник Размещён: 18.07.2016 12:02

Ответы (4)


0 плюса

648 Репутация автора

REPL - это место, где это можно сделать, да.

Большинство людей используют что-то поверх REPL в командной строке, например, emacs. Я использую xschemeбиблиотеку Emacs. По моему мнению, альтернативы не очень хороши, и использование только командной строки просто недопустимо.

Автор: Spenser Truex Размещён: 19.07.2016 07:16

0 плюса

25858 Репутация автора

Используйте DrRacket. Загрузите его здесь: http://download.racket-lang.org/

Автор: soegaard Размещён: 19.07.2016 11:21

0 плюса

1140 Репутация автора

Вы можете написать сценарии в GNU Guile Scheme для реализации упражнений в SICP. Большинство встроенных процедур работают без проблем, и нет разницы в синтаксисе.


В Linux

Напишите сценарии, используя обозначение shebang в начале файла сценария.

#! / usr / .. <адрес интерпретатора guile> \
-e <имя процедуры, которая должна выполняться первой> -s
! #


Пример

#!/usr/local/bin/guile \
-e main -s
!#
(define main (args)
(display (+ 3 4))
(newline))

Сделайте файл исполняемым с помощью chmod + <filename>и запустите его ./ <имя файла>

PS Файлы схемы сохраняются с использованием расширения .scm.

Автор: Tarun Maganti Размещён: 20.07.2016 10:12

0 плюса

1 Репутация автора

Если вы используете Racket, просто используйте DrRacket.

Если вы используете MIT Scheme, вы можете захотеть использовать Edwin, производную от Emacs в комплекте с Mit Scheme, для которой изначально была разработана SICP. Edwin - это производная от Emacs, поэтому, если вы уже знаете Emacs, вы отлично ладите с Edwin. Если вы не знаете emacs, вы можете использовать следующие основы:

  • Cf, Cb, Cn и Cp для вперед, назад, вверх и вниз соответственно.
  • C-Space, чтобы начать выбор региона (выделите фрагмент текста для работы). Регион будет оставаться там до тех пор, пока вы не избавитесь от него с помощью C-Space или не сделаете что-нибудь с ним.
  • Cw вырезать регион
  • Ck, чтобы отрезать линию, от вашего курсора и далее
  • Cy вставить
  • Cx Ce для выполнения строки кода прямо за вашим курсором в буфере нуля / реплики (окно по умолчанию)
  • Cc Cc, чтобы остановить выполнение того, что вы запускали с помощью Cx Ce
  • Cx Cc, чтобы выйти

Этого должно быть достаточно, чтобы начать пользоваться Эдвином. Невероятно приятно иметь возможность просто отредактировать определение функции, переоценить определение, которое вы отредактировали, и заставить новую версию начать работать в вашей среде repl на лету.

Автор: Joshua Barrett Размещён: 06.08.2016 10:21
Вопросы из категории :
32x32