Commit 31a8346
morphqdd
feat: strings.lake batch — concat_bb, slice_buf, starts_with, ends_with,
index_of_byte / last_index_of_byte / index_of / contains, to_lower /
to_upper, trim_left / trim_right / trim_space, repeat, int_to_buf,
parse_int, count_byte, next_newline, line_count, line_at + helpers.
All public — bytes_eq_at / scan_ws_* / map_*_loop / int_digits_* /
parse_digits / line_start_loop are exposed because lake-frontend's
mangling-driven symbol emission only links transitively reachable
machines through their public counterparts; keeping them pub is
the lowest-friction path until #097 lands per-module visibility.
is_ws_byte body reshaped to a single-Ret bitwise-OR predicate so
the simple-pure inliner folds it into trim_* — paren grouping is
required because Lake's |/^/& bind tighter than == (parser
precedence).
Tested via two smokes:
- repeat / trim / case-mapping / contains / index_of / parse_int
- line_count + line_at over multi-line buf with self-recursive
print walker1 parent ca92689 commit 31a8346
1 file changed
Lines changed: 666 additions & 0 deletions
0 commit comments