What subset of the ECMAScript language spec is currently supported?
For example, some methods of String are missing such as match, replace, search, toLower, toUpper, etc, and some have different names like trimEnd/Start vs trimLeft/Right.
Is the there a doc or table listing what's currently supported and what's not?
Why some pieces are missing, is it just "to be implemented" or "never to be implemented"?
Thanks!
At the moment we are trying to follow the same specification as TypeScript and as far as I know the latter is in turn based on ECMAScript 6 and ECMAScript 2015. However AssemblyScript is AOT without any, undefined and other dynamic behaviours so it has some limitations in that scope.
Methods like match, replace and search required regexps which not yet implemented.
trimLeft/Right should rename to trimEnd/Start that's good catch.
Methods like toLowerCase/toUpperCase is not trivial and currently wip. See this PR
In a nutshell: We are trying to stick to the relevant standards as much as possible unless a feature cannot be implemented efficiently (yet), which is the case with some super dynamic language features of JS and language constructs that rely on GC support. Everything else is most likely TODO.
What's in the todo list? Such list in one simple doc would help one assess how mature the project is and how much is remaining.
BTW, really interesting project! Who and where is using it as of now?
What's in the todo list?
Currently new website with documentation work in progresss. Some general info you could find in wiki
Who and where is using it as of now?
There are not too many ready-made projects for this project. Here are some of them:
Regarding feature support, if someone wants to make a list, it should be sufficient to click through the files in std/assembly to get an overview of what's implemented and what's not.
Now we have current status for standard built-in objects:
https://github.com/AssemblyScript/assemblyscript/wiki/Status-and-Roadmap#standard-library-compatibility
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Most helpful comment
Currently new website with documentation work in progresss. Some general info you could find in wiki
There are not too many ready-made projects for this project. Here are some of them:
and others