Песочница

Детерминизм и профили ресурсов

Лиспекс связывает детерминированные наблюдения с точным исходником, вводом, идентификатором исполнителя, значениями ресурсов и каналами вывода.

Детерминизм в Лиспексе — конкретный контракт исполнения. Сравнение называет точные байты исходного кода и ввода, исполнитель, профиль ресурсов и наблюдаемые каналы. Повтор этого набора даёт тот же результат, stdout, предупреждения и запись диагностики.

Профили ресурсов

Каждый маршрут исполнения публикует значения ввода, вывода, переходов, управления и выделения. Отчёт записывает выбранные значения и расход запуска. Программа работает до завершения, условия runtime или достижения одного из этих значений.

Поле контрактаЧто оно фиксируетНаблюдаемый результат
исходник и вводточные байты программы и запросазначение или диагностика runtime
исполнитель и профильименованная поддержка языка и значения ресурсовконечный статус и отчёт ресурсов
набор наблюденийstdout, предупреждения, значения и диагностикаточный порядок каналов
корпус и базовая линиявходы, выбранные до запускасогласие, расхождение или несравнимость
идентичность артефактаточные байты продукта запускаквитанция или отпечаток движка

Время по часам записывается как эксплуатационное измерение. Семантические отчёты ресурсов используют счётчики выбранного маршрута исполнения.

Выбор маршрута исполнения

Эталонный интерпретатор и проверенная Rust VM выполняют доверенный исходный код для авторской работы, локальной автоматизации и сравнения маршрутов. lispex embed выполняет полученные правила решений с заданными значениями работы и памяти в новом экземпляре.

Квитанция сравнения называет свой корпус, исполнители, профили и наблюдения. Сбои движка записывают конечный статус отдельно от гостевых значений и диагностики runtime.

Куда дальше

Поведение продолжений описано в разделе о хвостовых вызовах, а процесс приложения с управлением ресурсами — в руководстве embed.

Правильные хвостовые вызовы · Встраивание Лиспекса

Детерминизм и профили ресурсов · Лиспекс