mput / sicp-solutions

SICP solutions in Racket

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

Мои решения для задач из великого и ужасного SICP


Использование

Для быстрого создания файлов упражнений на основе шаблонов я использую Ansible.

Добавить упражнение:

$ make new e=1_29

Создаст файл ./solutions/1_29.rkt на основе шаблона упражнений x_xx.rkt и файл ./tests/1_29.test.rkt на основе шаблона теста x_xx.test.rkt.

В конец файла README.md будет добавлена строчка вида:

  - [Exercise 1.29](./solutions/1_29.rkt) [(test)](./tests/1_29.test.rkt)

Смотри templating.yml и Makefile.

Чтобы запустить тест для одного упражнения:

$ make test e=3_25

Запустить последовательно все тесты:

$ make run_tests

Эта же команда используется travis.ci для проверки при каждом коммите. Некоторые упражнения я выполняю также на JavaScript, для каждой темы создавая отдельный пакет, например: Part 3.3.4: JS-implementation

На данный момент, имплементации на JavaScript не проверяются с помощью travis.



Список решений:

Глава 1. Построение абстракций с помощью процедур.

Глава 2. Построение абстракций с помощью данных.

Глава 3. Модульность, объекты и состояние.

About

SICP solutions in Racket


Languages

Language:Racket 97.7%Language:JavaScript 2.1%Language:Makefile 0.2%