CHANGELOG.md | 8 + README.md | 19 +- build.zig | 618 +++++--- build.zig.zon | 5 +- doc/architecture.md | 61 +- doc/language-manual.md | 102 +- dprint.jsonc | 26 + hello | 6 + out.js | 21 + src/BuildConfig.zig | 12 +- src/cli.zig | 37 +- src/core/Air.Dump.zig | 29 +- src/core/Air.zig | 29 +- src/core/Ast.Dump.zig | 13 + src/core/Ast.zig | 21 +- src/core/Cache.zig | 17 + src/core/Comp.zig | 344 +++-- src/core/InternPool.zig | 338 +++-- src/core/Parse.zig | 174 ++- src/core/Report.zig | 347 +++-- src/core/Sema.zig | 2429 ++++++++++++++++++-------------- src/core/StoredTrace.zig | 2 + src/core/Teg.Dump.zig | 128 +- src/core/Teg.zig | 449 +++++- src/core/Tokenizer.zig | 145 +- src/core/Transform.zig | 1062 +++++++++----- src/core/array.zig | 57 +- src/core/js/Js.zig | 3 +- src/core/js/Link.zig | 48 +- src/core/js/NodeGen.zig | 133 +- src/core/js/Tree.zig | 6 +- src/core/mod.zig | 95 +- src/core/pool.zig | 49 + src/core/queue.zig | 47 + src/core/stack.zig | 10 +- src/core/transform_cli.zig | 85 ++ src/core/unicode_props.zig | 2 +- src/deps/quickjs/build.zig | 2 +- src/format/Format.zig | 84 ++ src/format/format_cli.zig | 63 + src/loader/Loader.zig | 6 +- src/manual/generate-man.zig | 2 +- src/wasm/enum_codegen.zig | 21 +- src/wasm/wasm_api.zig | 15 +- test/behavior.zig | 393 ------ test/behavior/arithmetic | 33 +- test/behavior/array | 20 +- test/behavior/empty_function | 2 + test/behavior/function | 17 + test/compiler.zig | 431 ++++++ test/parse_error/string_invalid_escape | 3 + test/parse_error/string_unterminated | 5 + test/transform_error/break_across_function | 8 + test/transform_error/top_level_statement | 6 + test/transform_error/top_level_statement_err | 3 + 55 files changed, 5220 insertions(+), 2871 deletions(-)