SICP обучает вычислениям на языке Scheme. Лиспекс предоставляет отдельный профиль SICP с совместимой со Scheme поверхностью, необходимой для такого обучения. Обычный профиль ядра Лиспекса при этом не меняется.
Выберите способ обучения
- Используйте sicp.io для последовательного изучения глав, редактирования и запуска примеров, карты покрытия и браузерного рабочего места. Отдельного русского курса пока нет.
- Откройте песочницу Лиспекса с профилем SICP для одного явного запуска в браузере. Обычная песочница остаётся на профиле ядра.
- Используйте
lispex sicp runдля локальных файлов.scm. Native выполняет профиль SICP на Rust, встроенный в бинарный файл. npm CLIlispex@1.18.0использует отдельную Wasm-зависимость@lispex/sicp@1.0.0. - Подключайте
@lispex/sicpнапрямую, когда приложению Node или браузера нужны типизированные наблюдения и ограниченные трассы.
npm install @lispex/sicp@1.0.0Выполните один файл
lispex sicp run exercise.scm
cat exercise.scm | lispex sicp run -lispex run exercise.scm отклоняется. Расширение .scm само по себе никогда
не меняет профиль, а неудача профиля SICP не приводит к запасному запуску в
другом исполнителе. CLI печатает stdout и итоговое значение для учебного
цикла. Для структурированных наблюдений и трасс используйте JavaScript API.
Подключите среду в JavaScript
const { run } = require('@lispex/sicp');
const result = run('(define (square x) (* x x)) (square 12)');
console.log(result);const { createSicpRuntime } = await import('@lispex/sicp/browser');
const runtime = await createSicpRuntime();
const result = runtime.run('(define (square x) (* x x)) (square 12)');
console.log(result);Модуль WebAssembly не имеет внешних импортов. Он принимает не более 1 МиБ исходника UTF-8 и применяет фиксированные пределы логической кучи, fuel, вывода и трассы. После загрузки выбранного Wasm выполнение не использует сеть, не ищет другой исполнитель и не применяет запасной путь. Эти пределы учебной среды не являются sandbox безопасности.
Результат содержит типизированный документ sicp-observation/v1 и
ограниченный документ lispex-trace/v1. Среда не предоставляет полномочий
выполнения или Ваучера и не аутентифицирует свидетельства.
Читайте измерение точно
Машиночитаемое заявление связывает идентичность поставляемого Wasm с версионированным представительным корпусом из 26 примеров. Отдельно оно записывает четыре закреплённых измерения внешних исполнителей Scheme, расхождения, пределы и исключения.
Это измерение не заявляет о покрытии всей книги, рейтинге производительности, сравнительном превосходстве или независимой проверке. Текст книги SICP и исходники корпуса имеют отдельные лицензии и не входят в среду.
Не смешивайте профили
| Обычное ядро Лиспекса | Профиль SICP Лиспекса | |
|---|---|---|
| Выбор | стандартный lispex run | явный lispex sicp run или ?profile=sicp |
| Расширение | .lspx | .scm |
| Назначение | обычные программы Лиспекса | изучение SICP и упражнения |
| Среда | исполнитель ядра Лиспекса | встроенный профиль Rust в Native; Wasm @lispex/sicp в npm и JavaScript |
Продолжайте
Открыть курс SICP · Запустить песочницу SICP · Проверить текущую и отложенную область