Imports/exportsBlocksforeachwhileloopifreturnspawntracelambdabinary expressionsunary expressionsfunction definitionsboolean literalsinteger literalshex literalsbinary literalsfloat literalsstring literalsidentglobal identcolor literalcolor ctorglobal objectfunction call- function call - no paren
property lookuparray accessyieldevalpartial applicationarray literalsdictionary literalslocal variables
- Newlines in multi-line string tokens are not processed by lexer
- If definition of blocking native function change while it is paused, new version will be invoked upon resume
- Function constant pools use === for equality - results in duplicates of any values whose internal representations are objects e.g. colors
- Fix/finalise scoping rules
- REPL
- Control flow - break/continue
- Name mangling
- Arrays
- Dictionaries
Spawn- "Garbage collection"
- stdlib
- Inspector (function browser, bytecode explorer/decoder)
- REPL
- Timeline
- Callstack visualiser
- Breakpoints
- Interaction with live stack-frame
- Compiler flag - auto-yield insertion
- Compiler flag - name mangling
- Constant folding - see http://bugs.python.org/issue1346238
- Dead code removal
- Inline method cache
- (possible) Implicit return is possible through syntax tree analysis and planting returns in the correct places. This would remove the need for 2 opcodes and save one memory write per statement. Probably best leave this until we've got some machinery in place for walking/transforming the AST.
- Editor integration
- Closures
- List comprehensions
- Object system, maybe