Stream: contributing

Topic: List.get_wrap / drop_at_unordered / concat_utf8 (#9596)


view this post on Zulip Dzmitry Misiuk (Jul 23 2026 at 10:26):

The Str split/replace family is basically wrapped up, so while I'm on a roll I'd like to grab a few more small List builtins off #9596 — all pure Roc, no new low-level ops. One PR, a commit each (same as the trio / Try section):

Anyone already on these, or any objections? :slight_smile:

view this post on Zulip Dzmitry Misiuk (Jul 23 2026 at 13:10):

Quick follow-up on concat_utf8: turns out there's already a host listConcatUtf8 in builtins/list.zig (one realloc + memcpy, with a unit test), but it's orphaned — no low-level op or Builtin.roc entry wired to it. So for that one I could either wire it up as the low-level op (the efficient path, which also un-orphans the existing code), or keep the pure-Roc List.concat(bytes, Str.to_utf8(str)). Which would you prefer? get_wrap and drop_at_unordered are cleanly pure-Roc either way.


Last updated: Jul 23 2026 at 13:15 UTC