Files
scriptc/packages/runtime/src
Chris Tate 43ff8a1122 Inline destructured literal results and read ASCII slice ranges inline
- A function whose whole body is `return [a, b]` or `return { a, b }`,
  with number, boolean or string fields, is now inlined where its result
  is only destructured (`const [head, tail] = split(text, at)`). The
  parameters are declared from the arguments, then each field straight
  into its destructured binding, in the literal's order; an unread field
  still evaluates into a binding of its own. No record is built, and a
  slice field read only through its length or char codes becomes a
  scalar slice that copies nothing. Arguments may own their value, but
  as for numeric records nothing inside an argument may hold a
  temporary of its own.
- A scalar slice of a proven-ASCII string computes its range inline:
  the bounds clamp over the byte length exactly as scr_str_slice_range
  does, and no boundary can split a surrogate pair. Other strings keep
  the runtime call, which gains the same ASCII fast path.
- value-records' tuples section, `[head, tail] = split(...)` read only
  through lengths, goes from two heap slices per step to none.
2026-10-24 17:35:25 -05:00
..
2026-10-23 17:43:25 -05:00
2026-10-23 17:01:10 -05:00
2026-10-23 09:14:31 -05:00
2026-10-23 01:19:49 -05:00
2026-10-22 18:05:53 -05:00
2026-10-23 01:19:49 -05:00
2026-10-23 12:59:08 -05:00
2026-10-24 06:45:47 -05:00
2026-10-23 19:31:34 -05:00
2026-10-07 19:07:02 -05:00
2026-10-13 19:48:11 -05:00
2026-10-18 01:06:58 -05:00
2026-10-23 21:50:24 -05:00
2026-10-20 17:01:18 -05:00
2026-10-23 23:49:40 -05:00
2026-10-23 12:59:08 -05:00
2026-10-19 07:55:06 -05:00
2026-10-19 17:17:48 -05:00
2026-10-19 07:55:06 -05:00
2026-10-20 21:52:19 -05:00
2026-10-14 17:27:02 -05:00
2026-10-22 06:59:47 -05:00
2026-10-22 03:33:29 -05:00