-
-
Notifications
You must be signed in to change notification settings - Fork 670
Status and Roadmap
Daniel Wirtz edited this page Mar 15, 2018
·
167 revisions
NOTE: Current state of development is also tracked in GitHub projects.
Most importantly: While the initial prototype had some preliminary support for memory management through linking with a C-based runtime and thus strings, arrays and classes, these features are not yet implemented in AssemblyScript NEXT.
See also: Status / roadmap
- Get a memory allocator/GC combo up and running
- Write more tests and fix what's revealed
Tokenization and parsing
- Core and everything below
- Template strings
Types
- Core types
- Integers
- Floats
- Pointer-likes
- Inference
- Generics
- Constraints
- Inference
- For built-ins
- Class types
- Basics
- Function types
Expressions
- Literals
- Integers
- Floats
- Strings
- Arrays
- Objects (TBD)
- Unary
- Prefix
- Negate
- Invert
- Increment
- Decrement
- Postfix
- Increment
- Decrement
- Prefix
- Binary
- Less-than/-equals
- Greater-than/-equals
- Not-/Equals
- Addition/Subtraction
- Compound
- Multiplication
- Compound
- Division
- Compound
- Remainder
- Compound
- Float modulus / fmod (TBD)
- Shifts
- Signed
- Unsigned
- Bitwise
- And
- Or
- Xor
- Logical
- And
- Or
- Ternary
Variables
- Locals
- Globals
- Shadowing
Control constructs
- Return
- Break / Continue
- With label
- If
- While
- Do-While
- For
- Switch
- On strings (TBD: hashmap or case extension)
- Throw
- Catch (waiting for exceptions spec 🦄)
File-level imports and exports
- Import/export resolution
- Re-exports
- Wildcard imports
Module-level imports and exports
- Functions
- Constant globals
- Namespaced functions and constant globals
- Class members
Classes
- Memory layout
- Constructors
- Methods
- Static
- Instance
- Virtual, i.e., abstract
- Field access
- Static
- Instance
- Getters/setters
- Static
- Instance
Standard library
- Built-ins
- Math
- Memory access
- Control flow
- Host operations
- Assertions
- Host imported
- Arrays
- Basics
- Strings
- Basics
- Sets
- Maps
... and one day ...
- 🦄 Compile AssemblyScript to WebAssembly