1.
Introduction
2.
Goals of Dark v2
3.
Language
3.1.
Built in types
3.1.1.
Int
3.1.2.
String
3.1.3.
Character
3.1.4.
Float
3.1.5.
Tuple
3.1.6.
Bool
3.1.7.
List
3.1.8.
Dictionary
3.1.9.
Option
3.1.10.
Result
3.1.11.
Set
3.1.12.
Ref
3.1.13.
Regex
3.1.14.
UUID
3.1.15.
Bytes
3.1.16.
Null
3.2.
Control-flow
3.2.1.
Concurrency / parallelism
3.2.2.
Functions
3.2.2.1.
Higher-order functions
3.2.2.2.
BinOps
3.2.2.3.
Function definitions
3.2.2.4.
Function calls
3.2.2.5.
Lambda
3.2.2.6.
Pipe
3.2.3.
Match
3.2.4.
Let
3.2.5.
If
3.3.
Type System
3.3.1.
Real types
3.3.2.
Type checking
3.3.3.
Error Rail
3.3.4.
Records
3.3.5.
Enums
3.3.6.
Type aliases
3.3.7.
Traits
3.4.
Modules and Namespacing
3.5.
JSON handling
3.6.
Language versioning
4.
Editor
4.1.
Help understanding
4.2.
Error messages
4.3.
Fluid editor
4.4.
Permissions model
4.5.
Collaboration
4.6.
Ops
4.7.
Refactoring commands
4.8.
Feature flags
4.9.
Canvas / code organization
4.10.
Profiler
4.11.
Accounts
5.
Framework
5.1.
Error Tracking
5.2.
HTTP handlers
5.3.
GraphQL
5.4.
Datastores
5.5.
Workers
5.6.
Cron / scheduled jobs
5.7.
Traces / analysis / tests
5.8.
Domain registration
5.9.
Static assets
6.
Infrastructure
6.1.
Program storage
7.
Libraries
7.1.
Package manager
7.2.
HTTPClient calls
7.3.
Style guide
7.4.
Dark v1 stdlib
7.5.
User module
Light (default)
Rust
Coal
Navy
Ayu
Darklang roadmap
Program storage
when loading a handler, we also load every function, etc, not just the necessary ones. We should store the dependencies with the code (this could be done in the client)