Commit Graph

  • 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