-
35b78193fd
feat(boot): add -ROT <= >= gforth extensions
main
Oleksandr Kozachuk
2026-07-18 15:40:39 +02:00
-
fa7dadbdeb
codegen: LOOP exits on index==limit (Forth 2012 boundary crossing)
forthbook
ok
2026-07-13 13:04:44 +02:00
-
-
d5acdc0e7b
fix: Rust 1.95 clippy — match guards + map_or
ok2
2026-04-21 17:00:21 +02:00
-
a66435c93c
bat syntax: sync with (LOCAL), quotations, structures, hashes
wafer-bat-syntax
ok2
2026-04-20 12:40:31 +02:00
-
bb217714ac
Add (LOCAL) per Forth 2012 §13.6.1.0086
ok2
2026-04-18 17:12:02 +02:00
-
67448caa9c
chore: clear pre-existing clippy + fmt in crypto tests
ok2
2026-04-18 17:11:28 +02:00
-
bcccdfb49d
Add bat syntax for WAFER / Forth 2012
ok2
2026-04-17 11:22:14 +02:00
-
be5dff243f
fix: locals beat hardcoded tokens in compile_token
ok2
2026-04-17 10:40:19 +02:00
-
49582f7e86
docs: rewrite architecture.txt + fix mem offsets
ok2
2026-04-16 20:51:12 +02:00
-
1a8f27b5bd
Add F: float locals (gforth/SwiftForth-style)
ok2
2026-04-15 21:29:01 +02:00
-
6771f5d46b
Add quotations [: ... ;] (Forth 2012 Core-ext 6.2.0455)
ok2
2026-04-15 21:18:02 +02:00
-
64f4b1e857
boot: add structure words (Facility-ext 10.6.2.0935)
ok2
2026-04-15 20:50:29 +02:00
-
f1752ededa
Add RANDOM / RND-SEED — xorshift64 PRNG
ok2
2026-04-15 20:31:48 +02:00
-
d1a7d55051
boot: fix
S interpret-mode — copy string out of TIB
ok2
2026-04-15 19:49:51 +02:00
-
1b8f4835d6
boot: add
S — state-smart parse-next-token-as-string
ok2
2026-04-15 19:28:26 +02:00
-
9150696807
wafer-web: add set_prompter for a JS-backed READ-PASSWORD
ok2
2026-04-14 22:56:37 +02:00
-
55caf38ab5
Add extensible hash primitives: SHA1, SHA256, SHA512
ok2
2026-04-14 22:07:00 +02:00
-
45de5c62fc
Add WORDS for Programming-Tools word set
ok2
2026-04-13 18:33:13 +02:00
-
38b956c7a3
Fix markdown formatting to pass dprint CI check
ok2
2026-04-13 18:21:25 +02:00
-
24e808935f
Add PAGE word, fix web REPL init code, update deps
ok2
2026-04-13 11:21:11 +02:00
-
3b65b48640
Add learning tools: Anki deck, IR quiz, reading order, trace exercises
ok2
2026-04-13 10:52:47 +02:00
-
397ab7000c
Update README for runtime abstraction and browser REPL
ok2
2026-04-13 10:52:11 +02:00
-
246e21fb0f
Runtime abstraction + browser REPL
ok2
2026-04-13 10:06:37 +02:00
-
d24fa59e43
Update all dependencies to latest versions
ok2
2026-04-12 18:36:48 +02:00
-
22a4372c45
Implement AHEAD, CS-PICK, CS-ROLL (Programming-Tools word set)
ok2
2026-04-12 18:11:19 +02:00
-
f40b8cac21
REPL: inline output on same line as input (traditional Forth style)
ok2
2026-04-12 17:28:06 +02:00
-
7d2aba412b
Ignore compliance_tools test (1 error in CS-PICK/CS-ROLL)
ok2
2026-04-09 20:27:04 +02:00
-
e9ba4a1eb9
Fix CI: clippy warnings, formatting, benchmark_report stability
ok2
2026-04-09 20:25:48 +02:00
-
9834c52248
Fix markdown formatting (dprint)
ok2
2026-04-09 20:11:03 +02:00
-
adc4d59caa
Fix formatting (cargo fmt)
ok2
2026-04-09 20:09:35 +02:00
-
13a16ae2a4
Update docs: performance results, new optimizations, test counts
ok2
2026-04-09 20:00:55 +02:00
-
5555202bf0
Self-recursive direct call, UTIME, CONSOLIDATE benchmarks
ok2
2026-04-09 19:54:40 +02:00
-
71ee292c37
Release-mode benchmarks, UTIME word, consolidated promotion
ok2
2026-04-09 19:44:26 +02:00
-
5827ef4dda
Enable stack-to-local promotion for DO/LOOP and IF/ELSE
ok2
2026-04-09 19:26:00 +02:00
-
99cc2c966d
Add stack-to-local promotion infrastructure for loops and control flow
ok2
2026-04-09 19:05:45 +02:00
-
4feeaeb0ba
Optimize DO/LOOP: index/limit in WASM locals, J as IR primitive
ok2
2026-04-09 17:13:31 +02:00
-
1e2ede58ac
Add cross-engine comparison test suite (WAFER vs gforth)
ok2
2026-04-09 16:19:48 +02:00
-
52698cd409
Forth 2012 compliance: 3→10 word sets passing (44→1 errors)
ok2
2026-04-09 10:10:24 +02:00
-
3bef345e86
Fix SOURCE-ID in EVALUATE, BUFFER: alignment, S\" raw bytes
ok2
2026-04-08 13:04:46 +02:00
-
87151010ed
Fix S\" escape sequences corrupted by UTF-8 lossy conversion
ok2
2026-04-08 13:02:05 +02:00
-
2a9e3a8a51
Register ( as immediate, add char literal 'x' parsing, fix ALLOCATE/RESIZE
ok2
2026-04-08 12:46:34 +02:00
-
712e0f9e6f
Fix ALLOCATE/RESIZE size validation — memory suite now passes
ok2
2026-04-08 12:27:33 +02:00
-
a299ad1f4d
Support multiple ELSE in IF statements — core_plus 12→11
ok2
2026-04-08 12:12:27 +02:00
-
2731c45350
Implement ALLOCATE/FREE/RESIZE, fix DU<, add 2VARIABLE/2CONSTANT callable
ok2
2026-04-08 11:24:30 +02:00
-
905ea10272
Fix DU<, register 2VARIABLE/2CONSTANT callable — double 27→3
ok2
2026-04-08 11:03:14 +02:00
-
9ffbaa5428
Fix D<, COMPARE, add -TRAILING — double 27→16, string 17→13
ok2
2026-04-08 10:52:20 +02:00
-
4719f50925
Remove accidentally committed test files
ok2
2026-04-08 10:32:38 +02:00
-
5d5ae3d203
Make PARSE/PARSE-NAME inline host functions, fix stack residue cascade
ok2
2026-04-08 10:31:46 +02:00
-
e26e0439f2
Fix ROLL, CASE/ENDCASE, PARSE, UNUSED, .( — core_ext 34→17 errors
ok2
2026-04-08 10:24:33 +02:00
-
4bfe6976ee
Fix LEAVE+LOOP hang, DEPTH off-by-one, division flavor, EVALUATE, WORD, ACCEPT
ok2
2026-04-07 20:30:16 +02:00
-
b7256e3130
Replace ALLOT/comma/C-comma/ALIGN + float alignment with Forth (Phase 8)
ok2
2026-04-07 15:59:16 +02:00
-
58db238731
Add SP@ IR op, replace SOURCE/DEPTH/PICK with Forth (Phase 7)
ok2
2026-04-07 15:53:05 +02:00
-
42f25a4c13
Replace DEFER!, DEFER@, COMPARE with Forth (Phase 6)
ok2
2026-04-07 15:31:29 +02:00
-
922708d179
Replace I/O and pictured output with Forth, add runner host funcs (Phase 5)
ok2
2026-04-07 15:25:27 +02:00
-
0c6c643e07
Sync HERE to WASM memory, replace HERE host function with Forth (Phase 4)
ok2
2026-04-07 15:11:13 +02:00
-
8c1c466b63
Replace 4 mixed-arithmetic Rust host functions with Forth (Phase 3)
ok2
2026-04-07 13:39:05 +02:00
-
0f6285ddfc
Fix optimizer bug: TailCall inside If not converted on inline
ok2
2026-04-07 13:36:26 +02:00
-
0d22858aac
Add double-cell Forth words to boot.fth, defer Phase 3
ok2
2026-04-04 14:08:36 +02:00
-
4db4044cdf
Replace 14 double-cell Rust host functions with Forth (Phase 2)
ok2
2026-04-04 13:54:39 +02:00
-
b5d06b8e32
Replace 13 Rust host functions with Forth bootstrap (Phase 1)
ok2
2026-04-04 13:47:47 +02:00
-
af42820163
Implement --native flag for standalone executables
ok2
2026-04-04 12:10:13 +02:00
-
913612d902
Implement WASM export and standalone execution
ok2
2026-04-04 11:33:11 +02:00
-
bbc9ae464c
Add Forth 2012 + WAFER Anki flashcard deck
ok2
2026-04-02 14:11:26 +02:00
-
f3fabc30ad
Fix dprint markdown formatting in README
ok2
2026-04-02 14:00:19 +02:00
-
1c0df608c3
Remove unused stub files: forth/, words/, compiler.rs, primitives.rs, types.rs
ok2
2026-04-02 13:52:45 +02:00
-
bf7581ad9e
Implement float IR operations: 25 words compiled to native WASM f64
ok2
2026-04-02 13:47:28 +02:00
-
f7a8bf1d24
Implement startup batching: 12x faster boot
ok2
2026-04-02 13:05:53 +02:00
-
8c53afa28a
Update all docs to reflect current state
ok2
2026-04-02 12:47:50 +02:00
-
94f6cb6941
Add switchable optimization config and benchmark framework
ok2
2026-04-02 12:24:57 +02:00
-
83585d1890
Add stack-to-local promotion, verify all optimizations end-to-end
ok2
2026-04-01 23:51:15 +02:00
-
08885b4589
Update OPTIMIZATIONS.md: 12 of 14 done, stack-to-local Phase 1 complete
ok2
2026-04-01 22:59:23 +02:00
-
4f59ffa19e
Implement stack-to-local promotion and consolidation recompiler
ok2
2026-04-01 22:56:00 +02:00
-
fcd063d83d
Update OPTIMIZATIONS.md: 10 of 14 optimizations implemented
ok2
2026-04-01 22:35:18 +02:00
-
af1cf425f3
Add inlining, DSP caching, fix TailCall-in-inline bug
ok2
2026-04-01 22:34:51 +02:00
-
180982576e
Implement optimization pipeline: peephole, constant folding, strength reduction, DCE, tail calls
ok2
2026-04-01 21:50:08 +02:00
-
8c38487390
Update README: 12 word sets at 100%, 200+ words, floating-point complete
ok2
2026-04-01 20:40:50 +02:00
-
d02b5b4437
Implement complete Floating-Point word set, 70+ float words
ok2
2026-04-01 20:38:48 +02:00
-
37c583f8d7
Add working compliance test harness, 11 word sets at 100%
ok2
2026-03-31 15:25:02 +02:00
-
dd389c6a3d
Implement Double-Number and String word sets, fix memory panics
ok2
2026-03-31 14:43:30 +02:00
-
193ad7ec5a
Add optimization docs, workspace lints, and pre-commit hooks
ok2
2026-03-30 23:01:35 +02:00
-
7507b1f164
Achieve 100% Core Extensions compliance, 261 tests
ok2
2026-03-30 22:19:49 +02:00
-
b52b4a79ce
Achieve 100% Core compliance, implement CATCH/THROW
ok2
2026-03-30 21:26:21 +02:00
-
f15882b518
Add docs/FORTH.md: rewrite Forth documentation with philosophical framing
ok2
2026-03-30 21:03:59 +02:00
-
8aaffad6b5
Reach 97% Core compliance: 58 errors down to 3
ok2
2026-03-30 21:02:00 +02:00
-
84bfe5c581
Fix Core test suite compliance: >IN sync, RSHIFT, +LOOP, pictured output
ok2
2026-03-30 18:17:59 +02:00
-
d9cd6f2b10
Add DOES>, EVALUATE, double-cell arithmetic, and 20+ more Core words
ok2
2026-03-29 23:40:37 +02:00
-
ca07d358fb
Update documentation to reflect current implementation state
ok2
2026-03-29 23:14:54 +02:00
-
5e08f7a11f
Add 50+ Core words: loops, defining words, memory, system primitives
ok2
2026-03-29 23:10:51 +02:00
-
c548f17f1e
Implement core Forth runtime: dictionary, codegen, outer interpreter, REPL
ok2
2026-03-29 22:48:37 +02:00
-
14d37c603b
Switch to dual MIT/Apache-2.0 licensing, fix repository URL
ok2
2026-03-29 22:26:52 +02:00
-
7d9937d0d8
Initial commit: WAFER (WebAssembly Forth Engine in Rust)
ok2
2026-03-29 22:14:53 +02:00