roadmap:
Type checkingFinish variables
MutabilityType checking
- Lists!
- List creation
- range
- empty list
- List type
- Typed empty list
- Const lists / tuples
- Creation
- tuple type
- destructuring
todos:
- variables
- create
- mutate syntax
- const
- loop expressions
-
while -
for(iterator) - infinite
loop
-
- match expressions
- match on type
- match on value
- match on condition
- check "completeness" of branches
- destructuring / capturing
- enum
- struct
- list
- head / tail
- positional destructuring
- block
return - exceptions
- function application / pipe with auto curry
- data structures
- list
- tuple (aka. const list)
- struct
- enum
- destructuring
- interfaces
- definition
- implementation
- method calling
- operator implementing (i.e. struct + struct)
- type system
- utility types
- or (
|) - function (
(type) => type) - number
- string
- boolean
- or (
- type definitions + binding
- function argument types
- function return types
- inferred return types
- let variable type
- inferred recursive return types
- type checking
- function argument types
- operator argument types
-
letvariable creation - variable mutation
- type as argument
- type inference
- utility types
- imports & exports
- I/O
- std
- file
- network
- concurrency
- async / await (implicit virtual threading)
- multi-threading (explicit)
- mutex
- compile (llvm? / wasm? / bytecode?)
- standard library
- utility functions
- input
- enums
-
Optional -
Result
-
- utility functions
housekeeping:
- testing
- unit tests
- tokeniser
- parser
- subtype typechecking
- program typechecking
- type inference
- interpreting
- integration tests
- recursion
- type inference
- mutual recursion
- variables
- mutability
- type checking
- recursion
- unit tests
- examples
- documentation