Skip to content

Status and Roadmap

Congcong Cai edited this page Nov 2, 2024 · 167 revisions

High level status

  • Most of TypeScript's AOT-compatible syntax is supported
  • A managed runtime takes care of memory management and GC
  • Classes are more like C-structs with methods (no virtual overloads yet)
  • Standard library is functional but still needs more work
  • Throwing an exception terminates the entire program (needs WebAssembly/exception-handling)
  • We need more tests (pretty sure this will remain here)

High level goals

  • Get a memory manager and GC combo up and running
    • Memory manager (TLSF)
    • Automatic reference counting & garbage collection (PureRC)
  • Get a working standard library up (where AOT-compatible)
  • Improve linking, e.g. with C, based on what's supported by common tools
  • Compile the AssemblyScript compiler to WebAssembly using itself
  • Provide tools to automatically generate glue code and definitions

And, of course, keep up with the state of WebAssembly, most notably at this point:

Proposal Phase Status
Sign Extension Operations standardized --enable sign-extension
Mutable Globals standardized --enable mutable-global
Non-trapping float-to-int Conversions standardized --enable nontrapping-f2i
Bulk Memory Operations standardized --enable bulk-memory
Reference Types standardized --enable reference-types
Multi-Value standardized
SIMD implementation --enable simd
Threads implementation --enable threads
Tail Call implementation