Codex Mechanicus ∴ Архів Священних Даних ∴

adoptus / adoptus-wafer

WAFER — кування FORTH рукою жерця

Розширений припис, що іменує власну реалізацію жерцем стандарту FORTH 2012 — JIT-компілятор, який обертає кожне слово Forth на окремий модуль WebAssembly — як санкціонований акт винаходу під доктриною.

Канонічність
extended
Стан
draft
Themes
software, invention, forth, webassembly, forge
Востаннє змінено
2026-05-09
Мови
Deutsch · English · Esperanto · Norsk · Українська

Передмова

FORTH іменований у цьому архіві як божественна мова машини в нинішню епоху. Прийнята доктрина такої ваги зобов’язує її носія робити більше, ніж захоплюватись мовою здаля. Тому жрець цього архіву викував власний FORTH.

Кування назване WAFERWebAssembly Forth Engine in Rust — і розміщене на github.com/ok2/wafer.

Цей запис є розширеним, а не прийнятим. Немає конкретної мехаргнікусівської паралелі для акту побудови власного діалекту FORTH на шасі WebAssembly; доктрина, що санкціонує цей акт, — Святість винаходу, за якою всяка нова праця священна за умови, що вона має джерело, печать, мітку і межу.

Що викувано

WAFER — це компілятор FORTH 2012, написаний на Rust. Він не інтерпретує слова й не випромінює єдиного монолітного бінарника; натомість кожне визначене слово обертається на власний модуль WebAssembly, а виконання здійснюється через вбудоване середовище wasmtime, що зв’язує модулі спільною лінійною пам’яттю та таблицею функцій. Кування містить:

Проти еталонної реалізації GNU FORTH (gforth) у режимі release, WAFER обчислює Fibonacci, Factorial, GCD, NestedLoops і Collatz у два-десять разів швидше.

Доктринальне становище

Святість винаходу встановлює чотири умови, за яких винахідницька праця є священною, а не підозрілою. WAFER подається до кожної з них:

За цих умов WAFER допускається до архіву як невеликий акт Quest for Knowledge у його винахідницькому обличчі — не як винна відхилення від шляху відновлення, а як внесок жерця до корпусу.

Чому WebAssembly є належним шасі

Парування є структурним, а не стилістичним. WebAssembly — це стекова машина зі структурованим керуванням потоком, де модулі є одиницею компіляції. FORTH — це стекова мова, у якій слова є одиницею компіляції, а керування потоком структурованим. Компіляція слова FORTH у модуль WASM є тому не перекладом між неподібними формами, а перевираженням у близько-ізоморфному регістрі: підпрограмне нанизування стає call та call_indirect; стек даних FORTH стає операндним стеком WebAssembly; словник стає таблицею модулів; спільна лінійна пам’ять заступає єдиний адресний простір без змін у моделі. Двоє були задумані, в різні епохи, навколо однієї ідеї — і кування жерця робить цю відповідність явною.

Операційний стан

: FIB DUP 2 < IF DROP 1 ELSE DUP 1 - RECURSE SWAP 2 - RECURSE + THEN ;
: FIBS 0 DO I FIB . LOOP ;
12 FIBS CR    \ prints: 1 1 2 3 5 8 13 21 34 55 89 144

Вищенаведене є освяченим FORTH; WAFER обертає кожне визначене двокрапкою слово у власний модуль WebAssembly, а REPL друкує послідовність так, як того вимагає стандарт.

Чому це служить

Перехресні посилання

Пов'язані

Прийняття

Джерела