Support for all primitive array types (i16, u8, f32, etc.)
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- wasm
- Domain
- compilers
Research direction
Start by reading the current multibyte-array-access proposal and the linked JS String Builtins proposal, focusing on how primitive and packed numeric array types are represented. The issue names no files or tests; done would be a resolved proposal decision on whether and how all primitive array types are supported.
Written by the indexing model from the issue text.
Description
I have a feeling that limiting this proposal to only work on i8 arrays (i.e. (array i8) and (array (mut i8))) would not really bring any benefits with regard to ease of implementation, and would only preclude other potential use-cases. Given that the current version of this proposal already assumes that i8 arrays are likely to be backed by some packed memory buffer through which performant multi-byte accesses are possible, I don't think it's a stretch to further assume that all array types with any primitive or packed numeric type will be backed by untyped memory buffers which can also support multibyte array accesses.
For example, the JS String Builtins proposal works with the (array (mut i16)) type to represent UTF-16 characters in strings. By limiting this proposal to just i8 arrays, it would still not be possible to speed up certain string operations with SIMD, which could otherwise enable faster parsing, string lookups, regular expressions, etc. Remember that in the current GC proposal, there is no way to cast between different array types.
@brendandahl let me know what you think about this.
- Dominant language
- WebAssembly
- Stars
- 4
- Forks
- 1
- Avg merge
- 16h 35m
- Merged PRs (30d)
- 1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from WebAssembly/multibyte-array-access
-
Difficulty 3/5 1-2 days Newbie friendliness 50/100
WebAssembly/multibyte-array-access#8 · 1 comment ·
-
Dart SIMD use case. Open
Difficulty 5/5 Over a week Newbie friendliness 35/100
WebAssembly/multibyte-array-access#5 · 8 comments · 1 reaction ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
WebAssembly/multibyte-array-access#4 · 4 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Text Format Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
WebAssembly/multibyte-array-access#1 · 1 comment ·
All issues in WebAssembly/multibyte-array-access
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
objectionary/jeo-maven-plugin#1774 ·
-
compiler/runtime
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
leanprover/lean4#15255 ·
-
bot-triaged module: correctness (silent) module: fx release triage triage review
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Grammar Gap: activated › effect clause › {self} deals damage equal to its power to target creature Openarea:mechanics ready-for-agent
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
fil-donadoni/tolaria#4317 ·