Песочница

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

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

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

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

  1. Используйте sicp.io для последовательного изучения глав, редактирования и запуска примеров, карты покрытия и браузерного рабочего места. Отдельного русского курса пока нет.
  2. Откройте песочницу Лиспекса с профилем SICP для одного явного запуска в браузере. Обычная песочница остаётся на профиле ядра.
  3. Используйте lispex sicp run для локальных файлов .scm. Native выполняет профиль SICP на Rust, встроенный в бинарный файл. npm CLI lispex@1.18.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 выполнение не использует сеть, не ищет другой исполнитель и не применяет запасной путь. Эти пределы учебной среды не являются 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 · Проверить текущую и отложенную область

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