.gitignore | 1 + Cargo.lock | 12 ++ crates/ast/src/error.rs | 4 + crates/ast/src/lib.rs | 6 +- crates/ast/src/parse_statement.rs | 50 +++----- crates/ast/src/parse_type.rs | 15 ++- crates/ast/src/types.rs | 64 ++++++++-- crates/checker/Cargo.toml | 14 +++ crates/checker/src/lib.rs | 203 ++++++++++++++++++++++++++++++++ crates/cli/Cargo.toml | 1 + crates/cli/src/main.rs | 43 ++++++- crates/js_ast/src/lib.rs | 44 +++---- crates/js_ast/src/types.rs | 7 +- crates/js_printer/src/print_expression.rs | 2 +- crates/js_printer/src/print_statement.rs | 21 +++- crates/tokenizer/src/lib.rs | 36 ++++++ examples/basics/control.blight | 2 +- examples/basics/expressions.blight | 2 +- examples/basics/fib.blight | 2 +- examples/basics/functions.blight | 2 +- examples/basics/operations.blight | 2 +- examples/basics/shadowing.blight | 2 +- examples/basics/variables.blight | 2 +- examples/basics/weird.blight | 2 +- examples/interop/deno.blight | 2 +- 25 files changed, 437 insertions(+), 104 deletions(-)