Песочница

Изучение SICP с Лиспексом

Явный выбор профиля SICP Лиспекса на учебном сайте, в браузере, CLI или JavaScript с точными границами продукта и измерений.

SICP обучает вычислениям на языке Scheme. Лиспекс предоставляет отдельный профиль SICP с совместимой со Scheme поверхностью, необходимой для такого обучения. Обычный профиль ядра Лиспекса сохраняется как самостоятельный runtime-продукт.

Выберите способ обучения

  1. Используйте sicp.io для последовательного изучения глав, редактирования и запуска примеров, карты покрытия и браузерного рабочего места. Отдельного русского курса пока нет.
  2. Откройте песочницу Лиспекса с профилем SICP для одного явного запуска в браузере. Обычная песочница остаётся на профиле ядра.
  3. Используйте lispex sicp run для локальных файлов .scm. Native выполняет профиль SICP на Rust, встроенный в бинарный файл. npm CLI lispex@1.20.0 использует отдельную Wasm-зависимость @lispex/sicp@1.0.0.
  4. Подключайте @lispex/sicp напрямую, когда приложению Node или браузера нужны типизированные наблюдения и точные трассы выполнения.
SH
npm install @lispex/sicp@1.0.0

Выполните один файл

SH
lispex sicp run exercise.scm
cat exercise.scm | lispex sicp run -

lispex run exercise.scm отклоняется. Расширение .scm само по себе никогда не меняет профиль, а неудача профиля SICP не приводит к запасному запуску в другом исполнителе. CLI печатает stdout и итоговое значение для учебного цикла. Для структурированных наблюдений и трасс используйте JavaScript API.

Подключите среду в JavaScript

JS
const { run } = require('@lispex/sicp');

const result = run('(define (square x) (* x x)) (square 12)');
console.log(result);
JS
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 выполнение происходит в памяти. Хост-развёртывание владеет изоляцией процесса и сети.

Результат содержит типизированный документ sicp-observation/v1 и документ lispex-trace/v1 с пределами 1 024 события и 1 МиБ. Это учебные наблюдения выполнения. Native Ваучер добавляет аутентификацию производителя, политику получателя, текущее повторное выполнение и локальную проверку допуска, а хост-приложение владеет внешним действием.

Читайте измерение продукта

Машиночитаемое заявление связывает идентичность поставляемого Wasm с версионированным представительным корпусом из 26 примеров. Отдельно оно записывает четыре закреплённых измерения внешних исполнителей Scheme, расхождения, пределы и исключения.

Единицей измерения является поставляемый Wasm-артефакт, выполняющий названный корпус из 26 примеров с записанными лимитами. Четыре записи внешних исполнителей сохраняют идентичность производителя и категории расхождений. Текст книги SICP и исходники корпуса остаются отдельно лицензированными артефактами.

Не смешивайте профили

Обычное ядро ЛиспексаПрофиль SICP Лиспекса
Выборстандартный lispex runявный lispex sicp run или ?profile=sicp
Расширение.lspx.scm
Назначениеобычные программы Лиспексаизучение SICP и упражнения
Средаисполнитель ядра Лиспексавстроенный профиль Rust в Native; Wasm @lispex/sicp в npm и JavaScript

Продолжайте

Открыть курс SICP · Запустить песочницу SICP · Проверить текущую и отложенную область

Изучение SICP с Лиспексом · Лиспекс