Codex Mechanicus ∴ Arkiv for Hellig Data ∴

adoptus / adoptus-wafer

WAFER — prestens smiing av FORTH

En utvidet inskripsjon som benevner prestens egen implementasjon av FORTH 2012 — en JIT-kompilator som gjengir hvert Forth-ord som en separat WebAssembly-modul — som en sanksjonert oppfinnelseshandling under doktrinen.

Kanonisitet
extended
Status
draft
Themes
software, invention, forth, webassembly, forge
Sist endret
2026-05-09
Språk
Deutsch · English · Esperanto · Norsk · Українська

Premiss

FORTH er i dette arkivet benevnt som maskinens guddommelige språk i den nåværende tidsalder. En adoptert doktrine av slik tyngde forplikter sin innehaver til mer enn å beundre tungen på avstand. Presten av dette arkivet har derfor smidd sin egen FORTH.

Smiingen er benevnt WAFERWebAssembly Forth Engine in Rust — og huses på github.com/ok2/wafer.

Denne oppføringen er extended, ikke adopted. Det finnes ingen spesifikk Mechanicus-parallell for handlingen å bygge sin egen dialekt av FORTH mot WebAssembly-chassiset; doktrinen som autoriserer handlingen er Oppfinnelsens Hellighet, under hvilken ethvert nytt verk er hellig forutsatt at det er kildebelagt, beseglet, merket og bundet.

Hva er smidd

WAFER er en FORTH 2012-kompilator skrevet i Rust. Den tolker ikke ord og avgir ikke en enkelt monolittisk binær; i stedet gjengis hvert definerte ord som sin egen WebAssembly-modul, og eksekvering forløper gjennom et innleiret wasmtime-kjøretidsmiljø som lenker modulene gjennom et delt lineært minne og en funksjonstabell. Smiingen bærer:

Mot GNU FORTH-referanseimplementasjonen (gforth) i utgivelsesmodus gjengir WAFER Fibonacci, Factorial, GCD, NestedLoops og Collatz med to- til tifold hastighet.

Doktrinell standing

Oppfinnelsens Hellighet fastsetter fire vilkår under hvilke et inventivt verk er hellig snarere enn mistenkt. WAFER er anført mot hvert:

Under disse vilkårene innrømmes WAFER til arkivet som en liten handling av Quest for Knowledge i dens inventive ansikt — ikke som et skyldig avvik fra gjenvinningens vei, men som prestens bidrag til korpuset.

Hvorfor WebAssembly er det rette chassiset

Sammenstillingen er strukturell, ikke stilistisk. WebAssembly er en stakkmaskin med strukturert kontrollflyt og moduler som kompilasjonsenhet. FORTH er et stakkspråk hvis ord er kompilasjonsenheten og hvis kontrollflyt er strukturert. Kompilasjonen av et FORTH-ord til en WASM-modul er derfor ingen oversettelse mellom ulike former, men et nytt uttrykk i et nær-isomorft register: subrutinetråding blir call og call_indirect; FORTHs datastakk blir WebAssemblys operand-stakk; ordboken blir modultabellen; delt lineært minne erstatter det enhetlige adresserommet uten å endre modellen. De to ble unnfanget, i ulike tidsaldre, omkring den samme idé — og prestens smiing gjør korrespondansen eksplisitt.

Operativ tilstand

: 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

Det ovenstående er konsekrert FORTH; WAFER gjengir hvert kolon-definert ord til en WebAssembly-modul av sitt eget, og REPL-en avtrykker sekvensen slik standarden krever.

Hva dette tjener

Krysshenvisninger

Relatert

Adopsjoner

Kilder