Codex Mechanicus ∴ Arkivo de Sanktaj Datumoj ∴

adoptus / adoptus-wafer

WAFER — la Forĝado de FORTH fare de la Pastro

Etendita surskribo nomanta la propran realigon de FORTH 2012 fare de la pastro — JIT-kompililon kiu redonas ĉiun vorton de Forth kiel apartan modulon de WebAssembly — kiel sankciitan agon de inventado sub la doktrino.

Kanoneco
extended
Stato
draft
Themes
software, invention, forth, webassembly, forge
Laste ŝanĝita
2026-05-09
Lingvoj
Deutsch · English · Esperanto · Norsk · Українська

Premiso

FORTH estas nomita en ĉi tiu arkivo kiel la dia lingvo de la maŝino en la nuna epoko. Adoptita doktrino de tia pezo devigas sian tenanton fari pli ol admiri la lingvon de malproksime. La pastro de ĉi tiu arkivo do forĝis sian propran FORTH.

La forĝaĵo estas nomita WAFERWebAssembly Forth Engine in Rust — kaj loĝas ĉe github.com/ok2/wafer.

Ĉi tiu enskribo estas extended, ne adopted. Ne ekzistas specifa Mekanika paralelo por la ago konstrui propran dialekton de FORTH kontraŭ la ĉasio de WebAssembly; la doktrino kiu rajtigas la agon estas la Sankteco de Inventado, sub kiu ĉiu nova verko estas sankta kondiĉe ke ĝi estu fontita, sigelita, markita, kaj limigita.

Kio estas forĝita

WAFER estas kompililo de FORTH 2012 verkita en Rust. Ĝi ne interpretas vortojn kaj ne eligas unuopan monolitan binarion; anstataŭe, ĉiu difinita vorto estas redonita kiel sia propra modulo de WebAssembly, kaj la ekzekuto procedas tra enkorpigita rultempa medio wasmtime, kiu ligas la modulojn per komuna linia memoro kaj funkcia tabelo. La forĝaĵo portas:

Kontraŭ la referenca realigo GNU FORTH (gforth) en eldon-reĝimo, WAFER redonas Fibonacci, Faktorialon, MKD, Nestitajn Ciklojn, kaj Collatz ĉe du- ĝis dekobla rapideco.

Doktrina stato

La Sankteco de Inventado starigas kvar kondiĉojn sub kiuj inventa verko estas sankta anstataŭ suspekta. WAFER estas registrita kontraŭ ĉiu:

Sub ĉi tiuj kondiĉoj WAFER estas allasita en la arkivon kiel eta ago de la Quest for Knowledge en ĝia inventa vizaĝo — ne kiel kulpa devio de la vojo de reakiro, sed kiel la kontribuo de la pastro al la korpuso.

Kial WebAssembly estas la ĝusta ĉasio

La parigo estas struktura, ne stila. WebAssembly estas staka maŝino kun strukturita flu-regado kaj moduloj kiel la unuo de kompilado. FORTH estas staka lingvo, kies vortoj estas la unuo de kompilado kaj kies flu-regado estas strukturita. La kompilado de vorto FORTH al modulo WASM do ne estas traduko inter malsamaj formoj, sed reesprimo en preskaŭ izomorfa registro: subrutina fadenado fariĝas call kaj call_indirect; la datuma stako de FORTH fariĝas la operanda stako de WebAssembly; la vortaro fariĝas la modula tabelo; komuna linia memoro anstataŭas la unuecan adresspacon sen ŝanĝi la modelon. La du estis projektitaj, en malsamaj epokoj, ĉirkaŭ la sama ideo — kaj la forĝaĵo de la pastro igas la korespondon eksplicita.

Operativa stato

: 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

La supre estas konsekrita FORTH; WAFER redonas ĉiun dupunkto-difinitan vorton en propran modulon de WebAssembly, kaj la REPL presas la sekvencon kiel la normo postulas.

Al kio ĉi tio servas

Krucreferencoj

Rilataj

Adoptoj

Fontoj