wsm-lazarus
README
wsm-lazarus — нативна система SENS на Free Pascal
Мета — побудувати нативну систему реалізації SENS на Free Pascal/Lazarus за класом компонентів подібну до SBCL: виконання, REPL, завантаження Core4, компіляція, діагностика, керування пам'яттю та образи. Це не реалізація Common Lisp.
Мовний авторитет
Мовні закони визначає тільки pinned репозиторій SENS (gitlink 2c498b35af53c085450eac6f51b87facf7f9aa47, Contract 12.0). Канонічна машинна мова — точні двійкові слова з доменом, шириною, бітами та ратифікованим законом. .sens несе фізичні паковані слова; українська ук і текстові .lisp є людськими проєкціями. Назва або текстова проєкція не створює семантики й не замінює двійковий свідок.
Contract 12.0 забороняє активні SID8/Sens8/Function8 маршрути. Наявність історичних файлів не означає, що їх дозволено включати до нового виконання; технічну міграцію не оголошено завершеною.
Що вже фізично реалізовано
Таблицю звірено з main@448c2b7315cb7ea54fa7f48ddd82ce6b83e31e5a (30.10.2026) і наявними перевірками. Це опис перевірених зрізів, а не заява про повну реалізацію мови.
| Частина | Доказ у репозиторії | Межа доказу |
|---|---|---|
| FPC headless build і CI | scripts/test.sh, fpc-headless workflow |
Збірка й механічні тести, не загальний семантичний паритет. |
| T5M фізичні байти та CLI | src/wsm.t5m.pas, src/wsm.t5madmission.pas, src/senst5m.lpr, scripts/test-t5m-cli.sh, scripts/test-t5madmission.sh |
Обмежений потоковий допуск, транспорт, читабельний перегляд і D2-структурна перевірка; не саме виконання. |
| D2 AST та фізичні позиції | src/wsm.d2source.pas, src/wsm.physloc.pas, scripts/test-d2source.sh, scripts/test-physloc.sh |
Структура й точні фізичні інтервали слова/байта/трита, не семантичне тлумачення. |
| Доменні координати | src/wsm.domain.pas, src/wsm.bind.pas, src/wsm.binarybind.pas, src/wsm.binarylocbind.pas, src/wsm.binarytree.pas, src/sensbinary.lpr |
Exact-domain зіставлення, фізичне дерево AST та CLI-огляд; сама координата не доводить викличність. |
| Виконання D3 | src/wsm.nativeeval.pas, src/wsm.binaryexec.pas, src/sensvykon.lpr, scripts/test-binaryexec.sh, фізичні T5M-свідки |
Вузькі точні D1/D3-форми фізичного .sens проходять T5M/D2 до наявного evaluator. Це не загальне виконання програм і не загальний .sens↔.lisp перетворювач. |
| Явний CLI української проєкції | src/sens_uk_d3.lpr, scripts/test-sens-uk-d3.sh, ізольований FPC workflow |
Окремий режим виконує вузькі D3-форми з явно заданої ук-проєкції; це не oracle і не приймач фізичного .sens. |
| Середовище й сесійні механізми | src/wsm.envframe.pas, src/wsm.session.pas, src/wsm.sessiond3.pas, src/wsm.lineinput.pas, src/wsm.sessionwire.pas |
Є виконання підтриманих D3-форм у багатоформовій сесії; фрейми, багаторядковий ввід і приватний пакетний транспорт мають власні межі. Це ще не повний SENS REPL. |
| Core4 джерело й перше виконання | src/wsm.core4source.pas, src/wsm.core4slice.pas, src/wsm.core4runtime.pas, перевірка виконання, FPC workflow |
Loader бере перші три визначення з canonical pinned core4.sens: D4 DEFINE/LAMBDA замикання і два точні D24-атоми. Ім’я/параметр зв’язуються за exact D7-послідовністю; повторні виклики повертають незмінний атомний аргумент, а глобальні імена — завантажене exact-значення. Числової арифметики цей зріз не виконує. Це не загальний evaluator Core4, не довільні тіла/структури та не виконання .lisp як канонічного джерела. |
| Виконання та вибіркова AOT-компіляція Core1 | src/wsm.core1selektor.pas, src/senscore1selektor.lpr, census допуску, статична поверхня Core1, три фізичні Core1 визначення у ELF64, AOT додавання, AOT множення |
Відбірник приймає 104 із 129 фізичних визначень pinned core1.sens; окремо додавання, віднімання й множення проходять із фізичних Core1 визначень до трьох ELF64; перевірено 4 пари D12 аргументів (12 незалежних pinned SENS REPL oracle результатів у workflow). Статичний підрахунок української проєкції core1.lisp показує, що всі 129 визначень потребують функція або мітка; це інвентар проєкції, не доказ бінарного admission чи виконання. Існують конкретні виконувані приклади для селекторів D3/D4/D5/D6, рекурсії, арифметики та інших форм. |
| Проміжні подання та нативна AOT-компіляція | src/wsm.compiler.pas, src/wsm.exactir.pas, спільний src/wsm.wideir.pas, src/senschyslo.lpr, фізичний D5→WideIR→ELF тест, D6 кроки спільного WideIR, потоковий T5M→WideIR→ELF CLI, 16 потокових ELF і незалежний SENS oracle, відтворюваність 32 ELF у різних середовищах, відтворюваність 22 програм при FPC O1/O2, механічне підтвердження виконання трьох ELF, відтворюваність файлового AOT Core1, вкладені D5 дерева, AOT тіла з фізичного .sens, D1/D24 умови й взаємна рекурсія, повний D24 у фізичному T5M stdout, незалежний SENS-допуск, профільні CI |
Перевірено фізичні шляхи до ELF64: 107 вкладених D5 програм; 16 атомарно опублікованих вкладених D5 ELF; 20 змішаних D5/D6 кроків і 20/20 збігів із pinned SENS 12.0; 16 програм через фізичний T5M stdin→спільний WideIR→ELF stdout із 16/16 машинними та незалежними SENS результатами й 20 негативами; 22 фізичні D5 програми, кожна зібрана окремими FPC -O1 і -O2, із 22/22 побайтково однаковими ELF та 44 машинними виконаннями; окремий механічний доказ точного запуску трьох ELF проти фізичних очікуваних байтів (без незалежного семантичного оракула). Також перевірено відтворення 32 ELF запусків у змінених середовищах і 18 фізичних Core1 AOT запусків у двох збірках. Body AOT повертає повний D24 як п’ятибайтовий фізичний T5M stdout у дев’яти вузьких випадках: чотири результати звірені з незалежним SENS REPL, ще три рекурсивні випадки мають явно позначений прямий оракул. wsm.lowerd24 тепер має LowerPairELF: п’ять взаємно-рекурсивних парне/непарне викликів виконуються в одному ELF; очікування позначені як прямий математичний оракул, не незалежний SENS REPL. LOWER24 suite має 131 перевірку. |
| Змішані фізичні дерева D5 | src/sensarithderevoelf.lpr, src/wsm.irarithderevo.pas, перевірка, FPC/SENS workflow |
Canonical T5M проходить pinned WideIR і exact D5:01010/01011 binding; кожен проміжний результат перевіряється як D12, а непідтримана D24 promotion відхиляється. Існує машинне збереження лівого піддерева через PUSH/POP та перевірений порядок ADD/SUB. |
| Lazarus IDE | Пакунок ide/sens_ide_map.lpk, українська інструкція, GTK2/Xvfb gate, архівний YAML опис workflow |
IDE-пакунок має команди мапи та компіляції фізичного .sens через спільний WideIR; форма може виконати лише щойно перевірений ELF64 і показати точні T5M байти/біти. Раніше GTK2/Xvfb gate збирав design-time IDEIntf/LCL, але його workflow тепер збережено поза активним .github/workflows. |
| Енергетичні виміри | RAPL-порівняння 16 готових ELF, D24 native-loop матриця, порівняння Core1/SENS REPL, Fibonacci-протокол, Ackermann parity без рейтингу часу, машинна математика SSE2/AVX2 | Є реальні локальні RAPL спостереження для конкретних готових ELF і вузьких ядер; окремі протоколи перевіряють той самий результат, сирі пакетні лічильники й відтворюваність. |
| GC, діагностика та знімок фрейму | src/wsm.gc.pas, src/wsm.debugtrace.pas, src/wsm.faulttrace.pas, src/wsm.uktrace.pas, src/wsm.image.pas, scripts/test-uktrace.pas |
Є українська проєкція точних кадрів і знімка помилки; це перевірені механізми, не інтегрований runtime GC і не повний образ системи. |
Загальний стан, відкриті залежності та незавершені вертикалі ведуться в дорожній карті та задачах #41 — #48. Є вузькі фізичний .sens/T5M та український ук входи. Нативний backend уже породжує ELF64 для перевірених профілів, але не компілює довільну SENS-програму. Перший Core4 binary slice доводить лише конкретне одноаргументне замикання та атомні глобали. Повний Core4, повний REPL і загальний семантичний паритет не доведені.
Мінімальні перевірки
Потрібен Free Pascal 3.2.x і матеріалізований pinned authority slice:
./scripts/sync-authority.sh
./scripts/test.shОкремо зібрати та перевірити інструмент структурного допуску pinned Core4:
./scripts/test-core4-cli.sh
./build/m0.2/bin/senscore4 --check .Вузький реальний виклик першого визначення з canonical Core4 .sens:
./scripts/test-core4runtime.shТест доводить завантаження трьох початкових pinned визначень: першого D4 DEFINE/LAMBDA і двох D24-атомів; exact D7-зв'язування; два послідовні виклики замикання з D1/D24 та читання обох D24-глобалів. D24 значення переносяться непрозоро — це не арифметика. Це не означає, що всі Core4-форми або REPL підтримуються.
.sir — внутрішній структурний формат. Він не є канонічним .sens, виконуваною програмою або доказом семантичної відповідності.
Принцип
SENS задає закони; Free Pascal/Lazarus реалізує механізми. Нові людські поняття, задачі, коміти, пояснення й документацію формулюй українською. Дивись правила агентів та архітектурну дорожню карту.
Ліцензія
ВОЛЬНІСТЬ (див. LICENSE).

