build.zig | 2 +- lib/compiler/aro/aro/Value.zig | 2 +- lib/compiler/aro/backend/Interner.zig | 4 +- lib/std/heap/general_purpose_allocator.zig | 4 + lib/std/math/big/int.zig | 42 +- lib/std/math/big/int_test.zig | 438 ++-- lib/std/math/big/rational.zig | 96 +- lib/std/std.zig | 1 + lib/std/zig/AstGen.zig | 29 +- lib/std/zig/Zir.zig | 11 +- lib/std/zig/Zoir.zig | 4 +- lib/std/zig/ZonGen.zig | 208 +- lib/std/zig/string_literal.zig | 102 +- lib/std/zon.zig | 45 + lib/std/zon/parse.zig | 3449 ++++++++++++++++++++++++++++++++ lib/std/zon/stringify.zig | 2306 +++++++++++++++++++++ src/Compilation.zig | 31 +- src/InternPool.zig | 18 +- src/Sema.zig | 50 +- src/Sema/LowerZon.zig | 858 ++++++++ src/Value.zig | 29 +- src/Zcu.zig | 40 +- src/Zcu/PerThread.zig | 5 +- src/codegen/llvm/Builder.zig | 8 +- src/fmt.zig | 4 +- src/main.zig | 2 +- src/print_zir.zig | 12 +- test/behavior/zon.zig | 519 +++++ test/behavior/zon/a.zon | 1 + test/behavior/zon/abc-escaped.zon | 1 + test/behavior/zon/abc.zon | 1 + test/behavior/zon/array.zon | 1 + test/behavior/zon/complex.zon | 7 + test/behavior/zon/enum_field.zon | 1 + test/behavior/zon/escaped_enum.zon | 1 + test/behavior/zon/escaped_struct.zon | 2 + test/behavior/zon/false.zon | 4 + test/behavior/zon/floats.zon | 25 + test/behavior/zon/foo.zon | 1 + test/behavior/zon/inf_and_nan.zon | 5 + test/behavior/zon/ints.zon | 40 + test/behavior/zon/multiline_string.zon | 4 + test/behavior/zon/none.zon | 1 + test/behavior/zon/recursive.zon | 1 + test/behavior/zon/slice-abc.zon | 1 + test/behavior/zon/slice-empty.zon | 1 + test/behavior/zon/slice1_no_newline.zon | 1 + test/behavior/zon/some.zon | 1 + test/behavior/zon/string_embedded_null.zon | 1 + test/behavior/zon/true.zon | 1 + test/behavior/zon/tuple.zon | 1 + test/behavior/zon/union1.zon | 1 + test/behavior/zon/union2.zon | 1 + test/behavior/zon/union3.zon | 1 + test/behavior/zon/vec0.zon | 1 + test/behavior/zon/vec1.zon | 1 + test/behavior/zon/vec2.zon | 1 + test/behavior/zon/vec3_bool.zon | 1 + test/behavior/zon/vec3_float.zon | 1 + test/behavior/zon/vec3_int.zon | 1 + test/behavior/zon/vec3_int_opt.zon | 1 + test/behavior/zon/z.zon | 1 + test/cases/compile_errors/@import_zon_addr_slice.zig | 9 + test/cases/compile_errors/@import_zon_array_len.zig | 10 + test/cases/compile_errors/@import_zon_bad_import.zig | 9 + test/cases/compile_errors/@import_zon_bad_type.zig | 125 ++ test/cases/compile_errors/@import_zon_comptime_inf.zig | 10 + test/cases/compile_errors/@import_zon_comptime_nan.zig | 10 + test/cases/compile_errors/@import_zon_comptime_neg_inf.zig | 10 + test/cases/compile_errors/@import_zon_doc_comment.zig | 9 + test/cases/compile_errors/@import_zon_double_negation_float.zig | 9 + test/cases/compile_errors/@import_zon_double_negation_int.zig | 9 + test/cases/compile_errors/@import_zon_enum_embedded_null.zig | 11 + test/cases/compile_errors/@import_zon_expected_void.zig | 11 + test/cases/compile_errors/@import_zon_invalid_character.zig | 9 + test/cases/compile_errors/@import_zon_invalid_number.zig | 9 + test/cases/compile_errors/@import_zon_invalid_string.zig | 9 + test/cases/compile_errors/@import_zon_leading_zero_in_integer.zig | 10 + test/cases/compile_errors/@import_zon_neg_char.zig | 9 + test/cases/compile_errors/@import_zon_neg_nan.zig | 9 + test/cases/compile_errors/@import_zon_negative_zero.zig | 11 + test/cases/compile_errors/@import_zon_no_rt.zig | 9 + test/cases/compile_errors/@import_zon_number_fail_limits.zig | 10 + test/cases/compile_errors/@import_zon_oob_char_0.zig | 16 + test/cases/compile_errors/@import_zon_oob_char_1.zig | 16 + test/cases/compile_errors/@import_zon_oob_int_0.zig | 16 + test/cases/compile_errors/@import_zon_oob_int_1.zig | 16 + test/cases/compile_errors/@import_zon_oob_int_2.zig | 16 + test/cases/compile_errors/@import_zon_oob_int_3.zig | 10 + test/cases/compile_errors/@import_zon_opt_in_err.zig | 82 + test/cases/compile_errors/@import_zon_opt_in_err_struct.zig | 19 + test/cases/compile_errors/@import_zon_string_as_array.zig | 10 + test/cases/compile_errors/@import_zon_struct_dup_field.zig | 11 + test/cases/compile_errors/@import_zon_struct_wrong_comptime_field.zig | 14 + test/cases/compile_errors/@import_zon_syntax_error.zig | 9 + test/cases/compile_errors/@import_zon_tuple_wrong_comptime_field.zig | 14 + test/cases/compile_errors/@import_zon_type_decl.zig | 9 + test/cases/compile_errors/@import_zon_type_expr_array.zig | 10 + test/cases/compile_errors/@import_zon_type_expr_fn.zig | 10 + test/cases/compile_errors/@import_zon_type_expr_struct.zig | 10 + test/cases/compile_errors/@import_zon_type_expr_tuple.zig | 10 + test/cases/compile_errors/@import_zon_type_mismatch.zig | 10 + test/cases/compile_errors/@import_zon_unescaped_newline.zig | 9 + test/cases/compile_errors/@import_zon_unknown_ident.zig | 11 + test/cases/compile_errors/@import_zon_vec_too_few.zig | 10 + test/cases/compile_errors/@import_zon_vec_too_many.zig | 10 + test/cases/compile_errors/@import_zon_vec_wrong_type.zig | 10 + test/cases/compile_errors/@import_zon_void.zig | 10 + test/cases/compile_errors/zon/addr_slice.zon | 3 + test/cases/compile_errors/zon/array.zon | 1 + test/cases/compile_errors/zon/char_32.zon | 1 + test/cases/compile_errors/zon/desktop.ini | 3 + test/cases/compile_errors/zon/doc_comment.zon | 2 + test/cases/compile_errors/zon/double_negation_float.zon | 1 + test/cases/compile_errors/zon/double_negation_int.zon | 1 + test/cases/compile_errors/zon/enum_embedded_null.zon | 4 + test/cases/compile_errors/zon/hello.zon | 1 + test/cases/compile_errors/zon/inf.zon | 1 + test/cases/compile_errors/zon/int_32.zon | 1 + test/cases/compile_errors/zon/int_neg_33.zon | 1 + test/cases/compile_errors/zon/invalid_character.zon | 1 + test/cases/compile_errors/zon/invalid_number.zon | 1 + test/cases/compile_errors/zon/invalid_string.zon | 1 + test/cases/compile_errors/zon/large_number.zon | 1 + test/cases/compile_errors/zon/leading_zero_in_integer.zon | 1 + test/cases/compile_errors/zon/nan.zon | 1 + test/cases/compile_errors/zon/neg_char.zon | 1 + test/cases/compile_errors/zon/neg_inf.zon | 1 + test/cases/compile_errors/zon/neg_nan.zon | 1 + test/cases/compile_errors/zon/negative_zero.zon | 1 + test/cases/compile_errors/zon/simple_union.zon | 1 + test/cases/compile_errors/zon/struct.zon | 4 + test/cases/compile_errors/zon/struct_dup_field.zon | 4 + test/cases/compile_errors/zon/syntax_error.zon | 4 + test/cases/compile_errors/zon/tuple.zon | 1 + test/cases/compile_errors/zon/type_decl.zon | 3 + test/cases/compile_errors/zon/type_expr_array.zon | 1 + test/cases/compile_errors/zon/type_expr_fn.zon | 1 + test/cases/compile_errors/zon/type_expr_struct.zon | 1 + test/cases/compile_errors/zon/type_expr_tuple.zon | 1 + test/cases/compile_errors/zon/unescaped_newline.zon | 2 + test/cases/compile_errors/zon/unknown_ident.zon | 3 + test/cases/compile_errors/zon/vec2.zon | 1 + test/cases/compile_errors/zon/void.zon | 1 + test/src/Cases.zig | 44 +- 145 files changed, 8788 insertions(+), 432 deletions(-)