Commit Graph

  • b6a41ae063 lib/regex: type model + finish() (regex port fold 1, partial) Hojun-Cho 2026-06-03 23:29:34 +09:00
  • 1e081e28c6 wcc_ww/check: infer named-struct element for arrlit->slice assignability (fix #19) Hojun-Cho 2026-06-03 22:51:24 +09:00
  • 8dda8ea76c w6c+w6c_ww: global-base arm for indexed struct-element field read (fix #21) Hojun-Cho 2026-06-03 22:29:57 +09:00
  • d40224755a w6c+w6c_ww: emit module-level slice-literal static-init (header+backing+reloc) (fix #10 part a) Hojun-Cho 2026-06-03 21:25:09 +09:00
  • ad00114c7f wcc_ww/check: skip #258 array->slice desugar at module scope (fix #18) Hojun-Cho 2026-06-03 21:21:15 +09:00
  • 5bbb81222f w6c_ww: emit a bare str/slice global zero-header once, keyed on type kind (fix #10 part b) Hojun-Cho 2026-06-03 20:55:52 +09:00
  • 63142770de w6c+w6c_ww: box [N]tagged array-literal elements via the tagged-store path (fix #12) Hojun-Cho 2026-06-03 20:32:22 +09:00
  • 3f04ea15ef test/993: add 255 boundary + build-fail parity to run exit-code rows Hojun-Cho 2026-06-03 19:20:57 +09:00
  • 0f0f2f4aa1 ww (selfhost): procrun propagates the real child exit code (fix #16) Hojun-Cho 2026-06-03 19:12:25 +09:00
  • 8199d6cdad test/684: add 1-element [_] edge + module element read-back rows Hojun-Cho 2026-06-03 18:53:44 +09:00
  • 7ca32432b1 w6c+wcc/check: infer [_]T array length from initializer element count (fix #7) Hojun-Cho 2026-06-03 18:44:39 +09:00
  • 63cb39e45b w6c_ww: exclude bare str-literal from indexed .cap shuffle (fix #13 symmetry break) Hojun-Cho 2026-06-03 18:03:13 +09:00
  • 84ed2ab15a w6c+cgen: read .cap of an indexed str/slice array element (fix #13, #20 read-sibling) Hojun-Cho 2026-06-03 17:50:54 +09:00
  • b3d4d2df32 w6c+cgen: full 24B header store for str/slice array-literal elements (fix #20, #270 str/slice arm) Hojun-Cho 2026-06-03 17:29:43 +09:00
  • a9228dabb3 w6c_ww/cgen: uniform tinfo esz for global str/slice addr-of + store (fix #11) Hojun-Cho 2026-06-03 15:50:54 +09:00
  • 23670d7c4e w6c_ww/cgen: uniform tinfo esz for global str/slice index (fix #10) Hojun-Cho 2026-06-03 15:24:56 +09:00
  • 5c1e9c0bfb lib/ww/lex: kwlookup if-ladder -> [N]str parallel-table linear scan (kwtab, rides #18/#8) Hojun-Cho 2026-06-03 14:50:18 +09:00
  • d39691a3d7 w6c_ww/cgen: size [N]enum element from tinfo not slotsize (fix #8) Hojun-Cho 2026-06-03 14:48:12 +09:00
  • 6b67655eca w6c+cgen: len() over indexed str/slice element extracts .len (fix #19) Hojun-Cho 2026-06-03 11:56:16 +09:00
  • 58c8f4be02 w6c+cgen: emit module-level [N]str static-init data + relocations (fix #18) Hojun-Cho 2026-06-03 11:35:03 +09:00
  • a67259ca69 wcc/cgen: localfind inline name-loop -> strings.compare (Wave-2 hand-rolled->lib) Hojun-Cho 2026-06-03 04:19:38 +09:00
  • b4b28bbf02 w6l: replace streq/streqd clones with strings.compare (Wave-2 hand-rolled->lib) Hojun-Cho 2026-06-03 04:04:51 +09:00
  • 7d2d2c30ef lib/ww/lex: replace putuint with strconv.u64tos (Wave-2 hand-rolled->lib) Hojun-Cho 2026-06-03 03:50:47 +09:00
  • 05609dcc34 w6a: replace private streq with strings.compare (Wave-2 hand-rolled->lib) Hojun-Cho 2026-06-03 03:33:09 +09:00
  • af87ff4f31 cmd/ww: FOLD 3 — route driver diagnostics through cerr(str) (capstone) Hojun-Cho 2026-06-03 03:14:45 +09:00
  • 50fc976e1d cmd/ww: FOLD 2 — str-lift scanuse/peekpackage/dirfilekeep scanners (capstone) Hojun-Cho 2026-06-03 02:59:29 +09:00
  • bb4e27d18b cmd/ww: FOLD 1 — str-lift cstreq/cstreqlit/cstrendswithlit via strings.* (capstone) Hojun-Cho 2026-06-03 02:36:00 +09:00
  • cc62f3f8bb cmd/ww: main.ww FOLD 0 — drop dead cstrstartswith, isidentbyte &&/char-lits (capstone prep) Hojun-Cho 2026-06-03 02:17:48 +09:00
  • ff333ce62d wcc/check: route diagnostics through cerr(str) helper (Wave-2 str-lift) Hojun-Cho 2026-06-03 02:03:19 +09:00
  • 9f76e816d7 w6l: pass reloc-kind + dyn vidx if-ladders -> switch (Wave-2 structural) Hojun-Cho 2026-06-03 01:45:47 +09:00
  • 63e070db10 w6l: islinkable/isso magic-byte pyramids -> strings.hasprefix (Wave-2 str-lift) Hojun-Cho 2026-06-03 01:32:27 +09:00
  • 8c43363cfe wcc/check: tinfofornode + decl-kind if-ladders -> switch (Wave-2 structural) Hojun-Cho 2026-06-03 01:14:01 +09:00
  • 96cf957b07 lib/ww/lex: fputq + tokprint if-ladders -> switch (Wave-2 structural) Hojun-Cho 2026-06-03 00:59:13 +09:00
  • 2303341cb0 wcc/cgenexpr: cgexpr node-kind if-ladder -> switch (Wave-2 structural) Hojun-Cho 2026-06-03 00:42:01 +09:00
  • 711762b6d8 w6c: emit length for string-literal .len (fix #14, align cstage to wwstage) Hojun-Cho 2026-06-03 00:28:16 +09:00
  • dbb52e25fe w6a/parse: write diagnostics with str .len (fix perr truncation) Hojun-Cho 2026-06-03 00:01:50 +09:00
  • c64c478e3f w6l/obj: write diagnostics with str .len (fix truncated-newline off-by-one) Hojun-Cho 2026-06-03 00:01:26 +09:00
  • 6f9a964a79 w6c,w6l: write diagnostics via str .len (fix off-by-one hand-counts) Hojun-Cho 2026-06-02 23:10:47 +09:00
  • 9e82037998 lib/errors: errnotest use os.exit not raw syscall (rule-7) Hojun-Cho 2026-06-02 22:57:37 +09:00
  • aa3aae05b9 lib/strings,wcc,w6l: collapse nested-if to &&/|| at named sites (Wave-2 structural) Hojun-Cho 2026-06-02 22:53:05 +09:00
  • 52d15ae92d w6a/asm: Jcc if-pyramid -> switch (Wave-2 structural) Hojun-Cho 2026-06-02 22:33:06 +09:00
  • 11e41ecea3 lib/ww/ast: nkname if-ladder -> switch (Wave-2 structural) Hojun-Cho 2026-06-02 22:18:19 +09:00
  • e027d3eec4 lib/ww/lex: tokname if-ladder -> switch (Wave-2 structural) Hojun-Cho 2026-06-02 21:58:39 +09:00
  • 79e647b34d lib/ww/parse: drop redundant type annotations (Wave-1) Hojun-Cho 2026-06-02 21:27:09 +09:00
  • b45f7c40ac lib/math/checked,log: drop redundant type annotations (Wave-1) Hojun-Cho 2026-06-02 21:14:51 +09:00
  • 688275bfd6 lib,wcc,w6a,w6l: char-literals for remaining source magic decimals (Wave-1) Hojun-Cho 2026-06-02 21:02:26 +09:00
  • 2131ae0dee w6a,w6l: char-literals for ELF/archive magic bytes (Wave-1) Hojun-Cho 2026-06-02 20:41:51 +09:00
  • 5987e389b9 lib/fmt,strconv: char-literals for fmt/ftos magic decimals (Wave-1) Hojun-Cho 2026-06-02 20:21:42 +09:00
  • fe32dedb08 lib/ww/lex: char-literals for lexer magic decimals (Wave-1) Hojun-Cho 2026-06-02 19:56:48 +09:00
  • d1310a03ad lib: char-literals for ascii/fnmatch/shlex magic decimals (Wave-1) Hojun-Cho 2026-06-02 19:24:40 +09:00
  • 90479fed68 w6c+wwstage: reject untyped empty-[] alloc — require context, loud cannot-infer (#3 B', subsumes #5) Hojun-Cho 2026-06-02 18:54:35 +09:00
  • bec1e7d6b0 w6c+wwstage: #264 read cached operand tinfo for match-expr yield type Hojun-Cho 2026-06-02 16:22:22 +09:00
  • 418dd21f34 w6c+wwstage: wwstage alias-aggregate-return loud-stop + #276 citations (#272 review) Hojun-Cho 2026-06-02 15:26:03 +09:00
  • 9d81ba77b7 w6c+wwstage: array global-aggregate-receive g = f() (#272 commit-2) Hojun-Cho 2026-06-02 15:00:55 +09:00
  • 0d39129741 w6c+wwstage: aggregate return from any addressable source (#272 commit-1) Hojun-Cho 2026-06-02 14:52:44 +09:00
  • 42dd70dc0c w6c+wwstage: aggregate arg from any non-ident source via the closed addr machinery (#271) — close aggregate-arg family Hojun-Cho 2026-06-02 13:42:59 +09:00
  • 3c37b98164 w6c+wwstage: [N]struct literal element store (#270-1c) Hojun-Cho 2026-06-02 12:54:01 +09:00
  • 6f18f42a4a w6c+wwstage: &aggregate-array-element addressing + store/copy (#270-1) Hojun-Cho 2026-06-02 12:49:25 +09:00
  • 33bd2b1054 wwstage: nested-array outer-index esz = sub-array size (#270-2) Hojun-Cho 2026-06-02 12:24:43 +09:00
  • ebbc3f98c2 w6c+wwstage: array return-by-value via the struct-return ABI (#267 fold-2) Hojun-Cho 2026-06-02 12:00:58 +09:00
  • 35b517ca3e w6c+wwstage: aggregate let-init copy from a struct-DEF global (#268 reviewer) Hojun-Cho 2026-06-02 11:37:34 +09:00
  • bb2f4e1dfe w6c+wwstage: aggregate let-init copy for ident-array/N_DOT/N_INDEX rhs (#268 fold-1b) — close addressable-rhs copy family Hojun-Cho 2026-06-02 11:22:01 +09:00
  • dfa9771f42 lib/crypto/sha256: cite #269 for the def-array-dim divergence (rule-7) Hojun-Cho 2026-06-02 09:52:29 +09:00
  • e9bd06a193 lib/crypto/sha256: restore faithful re-entrant sum() (#265 unblocked) Hojun-Cho 2026-06-02 09:48:39 +09:00
  • 8e9e28e357 lib/crypto/sha256: port SHA-256 over hash::hash; NIST test (989) Hojun-Cho 2026-06-02 07:19:18 +09:00
  • fdd87e56bf lib/crypto/math: add rotl32/rotr32 (sha256 prereq) Hojun-Cho 2026-06-02 07:19:03 +09:00
  • 165dd7388d lib/hash: add hash::hash interface (vtable + sum/reset/sz/bsz) Hojun-Cho 2026-06-02 07:18:56 +09:00
  • 4d3f8467a8 w6c+wwstage: full-size aggregate copy for deref-rhs let-init (#265 fold-1) Hojun-Cho 2026-06-02 09:31:44 +09:00
  • 0afe4225cd w6c: materialize full tagged slot on N_IDENT-source return (#263) — cstage align-up to wwstage Hojun-Cho 2026-06-02 06:28:00 +09:00
  • 6d8434002d lib/encoding/base64: clear() via array-decay now that #258 lands; drop stale comment Hojun-Cho 2026-06-02 06:17:59 +09:00
  • 16b7412003 test/949: pin nullable (*T|void) tagged-element read byte-id (#261 deviation) Hojun-Cho 2026-06-02 06:11:38 +09:00
  • 0afc272f47 wwstage: copy full tagged-element slot for N_DOT/N_INDEX-base index read (#261) Hojun-Cho 2026-06-02 06:02:56 +09:00
  • be23d7227a w6c+wwstage: source sub-8 value-struct ABI-size from tinfo.size at zero-init+DATAW (#254) Hojun-Cho 2026-06-02 05:37:47 +09:00
  • e92708ecda w6c+wwstage: implicit [N]T->[]T array-to-slice coercion via desugar (#258) Hojun-Cho 2026-06-02 05:26:55 +09:00
  • 6bcb0929f8 w6c+wwstage: tagged-element indexed store via dotbaseaddr + align dotchainaddr guard (#259,#256) Hojun-Cho 2026-06-02 05:17:45 +09:00
  • a2659c7942 test/base64: table-driven decode_invalid; cover len%4==1/3, excess '=', mid-quad '=' Hojun-Cho 2026-06-02 05:01:02 +09:00
  • 4d0d3b58e6 lib/encoding/base64: Hare base64/base64url on io-streaming surface Hojun-Cho 2026-06-02 04:55:08 +09:00
  • ca8c78e97d test/949: slice-of-non-array-field call-arg guard rows (#257) Hojun-Cho 2026-06-02 04:47:56 +09:00
  • 0f2587d294 w6c+wwstage: struct-array-field slice as call-arg via dotbaseaddr (#257) Hojun-Cho 2026-06-02 04:38:41 +09:00
  • d8aaa54b41 wwstage: sign-extend signed-narrow struct-array-field element load via N_DOT base (#255) Hojun-Cho 2026-06-02 04:07:42 +09:00
  • 585ec50676 w6c+wwstage: chained-base array-field address via dotbaseaddr — close the family (#253) Hojun-Cho 2026-06-02 03:44:49 +09:00
  • 7e3271bf01 test/949: add non-u8 addr-of + slice-via-ptr rows (#252) Hojun-Cho 2026-06-02 03:01:10 +09:00
  • 5ebd9eb6db w6c+wwstage: addr-of/slice struct array-field via dotbaseaddr (#252) Hojun-Cho 2026-06-02 02:52:59 +09:00
  • 8f85878bb2 test/951: add str->u8 reject rows at let + struct-field (#251) Hojun-Cho 2026-06-02 02:16:13 +09:00
  • d56b7ca946 w6c+wwstage: narrow int/rune array-literal elements to the declared type (#251) Hojun-Cho 2026-06-02 01:53:57 +09:00
  • 0fb4bae337 w6c+wwstage: store struct-literal array-field init (#249 BUG A) Hojun-Cho 2026-06-02 01:19:46 +09:00
  • 16b519465a w6c+wwstage: read array field of a global struct (#249 BUG B) Hojun-Cho 2026-06-02 01:12:40 +09:00
  • e3f49234f9 lib/encoding/hex: align to Hare io-streaming surface Hojun-Cho 2026-06-02 00:33:49 +09:00
  • 9d383288d2 lib/ww: hash-index the tinfo cache, kills O(n2) compile (perf) Hojun-Cho 2026-06-02 00:08:52 +09:00
  • db5c5b6149 lib/strconv: add itos/utos integer format (strconv-int fold-2) Hojun-Cho 2026-06-01 23:10:46 +09:00
  • dbc169a025 wwstage: reject error-type vs int comparison (#246) Hojun-Cho 2026-06-01 23:10:46 +09:00
  • a11785273a lib/strconv: stoi/stou/stoz machine-word int parse (strconv-int fold-1 C2) Hojun-Cho 2026-06-01 22:07:04 +09:00
  • 6a5cdbd779 lib/strconv: parseint sign+overflow core; stoi64/stou64 fidelity (strconv-int fold-1 C1) Hojun-Cho 2026-06-01 22:05:24 +09:00
  • 5d023c0ef0 w6c+wwstage: cgexpr materializes tuple rvalues + unwrap-shift for tuple-payload destructure (#241) Hojun-Cho 2026-06-01 21:27:49 +09:00
  • 6fc85f9aaf w6c+wwstage: construct + bind tuple-in-union payload (#242) Hojun-Cho 2026-06-01 19:56:52 +09:00
  • b79f005489 w6c+wwstage: agree on mixed-scalar tuple sret layout (#240) Hojun-Cho 2026-06-01 19:01:58 +09:00
  • 6acddc3a82 w6c+wwstage: len() of tuple-element slice reads .len not .ptr (#235) Hojun-Cho 2026-06-01 18:17:07 +09:00
  • 20fe5419d2 w6c+wwstage: store over-cap tuple sret into local field/index (#234) Hojun-Cho 2026-06-01 17:35:04 +09:00
  • 93d8ece740 wwstage: size struct tuple-field slot via fieldsize (#237) Hojun-Cho 2026-06-01 17:29:32 +09:00
  • 38a906cd9b lib/strings: add cut and rcut Hojun-Cho 2026-06-01 16:26:11 +09:00