In the previous discussion we have agreed that AssemblyScript is valuable to NEAR and that NEAR wants to contribute more resources both to the development of NEAR-specific AssemblyScript devtools and to the development of general AssemblyScript ecosystem, while continuing maintaining the current $2k/month contributions through OpenCollective
This exta contribution will come in two forms:
- NEAR will give extra assets to the AssemblyScript core team, without attachments;
- People in this thread will create a list of improvements to the AssemblyScript ecosystem and NEAR-specific AssemblyScript devtools. NEAR then will select a subset of them, formally specify a grant, assemble a team (separate from NEAR and AssemblyScript core team) with the help of @potatodepaulo , and kick off the work.
Now, in this thread, I invite everyone familiar with AssemblyScript ecosystem to say what they want to improve or add to the AssemblyScript ecosystem, this includes:
- adding or improving existing AssemblyScript libraries;
- contributions to AssemblyScript std and compiler;
- anything else.
Also, I invite those familiar with NEAR AssemblyScript devtools to say what they want to add or improve in near-sdk-as or other NEAR tools related to AssemblyScript.
In 2 weeks from now, on February 8th, we will take a subset of the proposals mentioned in this thread, based on their popularity and impact to the AssemblyScript ecosystem, create a grant, and get people to work on them.
I am going to start, by proposing the following improvements, in no particular order. As people are going to be posting their suggestions, I will be adding them to this list.
General AssemblyScript Ecosystem
AssemblyScript libraries
- as-pect @willemneal, @MaxGraey, @torch2424 please comment on what is the current state of as-pect (is it sufficiently feature complete? is it sufficiently stable?) and what improvements do you think it would be good to have. How many human hours approximately would be needed to get us there?
-
as-bignum @MaxGraey What is its the current state, what would you like to be improved&added, and how many human hours approximately do you think it would take?
- we ideally need to add 256-bit number support (both safe and unsafe) + increase test coverage to make sure all performance optimization edge cases, etc are covered
-
muldiv
proposal by @MaxGraey also going to be super useful to avoid common source of overflows
-
assemblyscript-json @vgrichina , @willemneal What is its the current state, what would you like to be improved&added, and how many human hours approximately do you think it would take?
- Add float support;
- More tests, including tests that check roundtrip with other implementations of JSON parser;
- Benchmarks;
- assemblyscript-regex @MaxGraey What is its the current state, what would you like to be improved&added, and how many human hours approximately do you think it would take?
- borsh-as. @willemneal how much work do you think it would be to implement http://borsh.io/ in AssemblyScript in human hours approximately?
- Anything else? Please post your suggestions.
AssemblyScript compiler and STD
- Increase test coverage. It seems like core AssemblyScript team is welcoming PRs that increase test coverage of AssemblyScript compiler and STD. @dcode, @MaxGraey, @torch2424, @willemneal do you have a target coverage in mind? How many human hours approximately would be needed to get us there?
- @dcode, @MaxGraey, @torch2424, @willemneal What is the current state of STD, what would you like to be improved&added, and how many human hours approximately do you think it would take?
- Anything else? Please post your suggestions.
NEAR-specific Development tools
-
near-sdk-as @mikedotexe, @evgenykuzyakov, @willemneal, @vgrichina What is its the current state, what would you like to be improved&added, and how many human hours approximately do you think it would take?
- Achieve feature parity with near-sdk-rs;
- Fix known bugs in AVL tree implementation, add tests;
- Potentially add ActiveRecord-like ORM support;
-
Anything else? Please post your suggestions.