gitextract_wp8wxvol/ ├── .arret-root ├── .buildkite/ │ ├── build-and-test.sh │ ├── llvm-assert.Dockerfile │ ├── pipeline.yml │ ├── sync-rustdoc.sh │ ├── update-multiarch-manifest.sh │ └── vscode-extension-tests.sh ├── .dockerignore ├── .github/ │ ├── CODEOWNERS │ └── renovate.json ├── .gitignore ├── .prettierrc ├── Cargo.toml ├── Dockerfile ├── LICENSE ├── README.md ├── compiler/ │ ├── Cargo.toml │ ├── arret_root.rs │ ├── codegen/ │ │ ├── alloc/ │ │ │ ├── core.rs │ │ │ ├── mod.rs │ │ │ ├── plan.rs │ │ │ └── types.rs │ │ ├── analysis/ │ │ │ ├── escape.rs │ │ │ ├── mod.rs │ │ │ └── names.rs │ │ ├── box_layout.rs │ │ ├── callee.rs │ │ ├── const_gen.rs │ │ ├── debug_info.rs │ │ ├── fun_gen.rs │ │ ├── jit.rs │ │ ├── libcstr.rs │ │ ├── math_gen.rs │ │ ├── mod.rs │ │ ├── mod_gen.rs │ │ ├── op_gen.rs │ │ ├── panic_gen.rs │ │ ├── program.rs │ │ ├── range_md.rs │ │ ├── record_struct.rs │ │ ├── target_gen.rs │ │ ├── target_machine.rs │ │ └── vector_gen.rs │ ├── context.rs │ ├── hir/ │ │ ├── destruc.rs │ │ ├── error.rs │ │ ├── exports.rs │ │ ├── import/ │ │ │ ├── filter.rs │ │ │ ├── mod.rs │ │ │ └── parse.rs │ │ ├── loader.rs │ │ ├── lowering.rs │ │ ├── macros/ │ │ │ ├── expander.rs │ │ │ ├── linker.rs │ │ │ ├── matcher.rs │ │ │ └── mod.rs │ │ ├── mod.rs │ │ ├── ns.rs │ │ ├── prim.rs │ │ ├── records.rs │ │ ├── scope.rs │ │ ├── types.rs │ │ ├── util.rs │ │ ├── var_id.rs │ │ └── visitor.rs │ ├── id_type.rs │ ├── lib.rs │ ├── mir/ │ │ ├── app_purity.rs │ │ ├── arg_list.rs │ │ ├── builder.rs │ │ ├── costing.rs │ │ ├── env_values.rs │ │ ├── equality.rs │ │ ├── error.rs │ │ ├── eval_hir.rs │ │ ├── inliner.rs │ │ ├── intrinsic/ │ │ │ ├── bitwise.rs │ │ │ ├── list.rs │ │ │ ├── math.rs │ │ │ ├── mod.rs │ │ │ ├── num_utils.rs │ │ │ ├── number.rs │ │ │ ├── panics.rs │ │ │ ├── partial_print.rs │ │ │ ├── print.rs │ │ │ ├── testing.rs │ │ │ └── vector.rs │ │ ├── mod.rs │ │ ├── ops.rs │ │ ├── optimise/ │ │ │ ├── duplicate_alloc_ops.rs │ │ │ ├── mod.rs │ │ │ └── unused_ops.rs │ │ ├── polymorph.rs │ │ ├── printer.rs │ │ ├── record_field.rs │ │ ├── ret_value.rs │ │ ├── rust_fun.rs │ │ ├── specific_abi_type.rs │ │ ├── tagset.rs │ │ ├── typred.rs │ │ ├── value/ │ │ │ ├── arret_fun.rs │ │ │ ├── build_reg.rs │ │ │ ├── from_reg.rs │ │ │ ├── list.rs │ │ │ ├── mod.rs │ │ │ ├── plan_phi.rs │ │ │ ├── synthetic_fun.rs │ │ │ ├── to_const.rs │ │ │ └── types.rs │ │ └── vector_member.rs │ ├── promise.rs │ ├── repl.rs │ ├── reporting.rs │ ├── rfi/ │ │ └── mod.rs │ ├── source.rs │ ├── tests/ │ │ ├── compile-error/ │ │ │ ├── arity.arret │ │ │ ├── bit-shift-left-negative.arret │ │ │ ├── bit-shift-right-overflow.arret │ │ │ ├── destruc-errors.arret │ │ │ ├── fn-lowering-errors.arret │ │ │ ├── if-errors.arret │ │ │ ├── import-parse-errors.arret │ │ │ ├── macro-errors.arret │ │ │ ├── misc-body-errors.arret │ │ │ ├── misc-top-level-errors.arret │ │ │ ├── missing-module.arret │ │ │ ├── no-main.arret │ │ │ ├── overflow-add.arret │ │ │ ├── overflow-multiply.arret │ │ │ ├── overflow-quot.arret │ │ │ ├── overflow-subtract.arret │ │ │ ├── quot-by-zero.arret │ │ │ ├── record-errors.arret │ │ │ ├── recur-errors.arret │ │ │ ├── reference-errors.arret │ │ │ ├── rem-by-zero.arret │ │ │ ├── syntax-error.arret │ │ │ ├── type-checking-errors.arret │ │ │ ├── type-lowering-errors.arret │ │ │ ├── vector-assoc-negative.arret │ │ │ ├── vector-assoc-out-of-bounds.arret │ │ │ ├── vector-ref-negative.arret │ │ │ ├── vector-ref-out-of-bounds.arret │ │ │ └── wrong-main-type.arret │ │ ├── integration.rs │ │ ├── optimise/ │ │ │ ├── application.arret │ │ │ ├── bitwise.arret │ │ │ ├── const.arret │ │ │ ├── equality.arret │ │ │ ├── inliner.arret │ │ │ ├── list.arret │ │ │ ├── math.arret │ │ │ ├── number.arret │ │ │ ├── typred.arret │ │ │ └── vector.arret │ │ ├── run-error/ │ │ │ ├── impure-panic.arret │ │ │ ├── impure-panic.stderr │ │ │ ├── infinite-to-int.arret │ │ │ ├── infinite-to-int.stderr │ │ │ ├── nan-to-int.arret │ │ │ ├── nan-to-int.stderr │ │ │ ├── overflow-add.arret │ │ │ ├── overflow-add.stderr │ │ │ ├── overflow-multiply.arret │ │ │ ├── overflow-multiply.stderr │ │ │ ├── overflow-quot.arret │ │ │ ├── overflow-quot.stderr │ │ │ ├── overflow-subtract.arret │ │ │ ├── overflow-subtract.stderr │ │ │ ├── pure-panic.arret │ │ │ ├── pure-panic.stderr │ │ │ ├── quot-by-zero.arret │ │ │ ├── quot-by-zero.stderr │ │ │ ├── rem-by-zero.arret │ │ │ └── rem-by-zero.stderr │ │ └── run-pass/ │ │ ├── application.arret │ │ ├── binding.arret │ │ ├── bitwise.arret │ │ ├── closure-typing.arret │ │ ├── closure.arret │ │ ├── comments.arret │ │ ├── conditionals.arret │ │ ├── divergence.arret │ │ ├── empty.arret │ │ ├── equality.arret │ │ ├── hash.arret │ │ ├── list.arret │ │ ├── macros.arret │ │ ├── math.arret │ │ ├── number.arret │ │ ├── occurrence-typing.arret │ │ ├── read.arret │ │ ├── record.arret │ │ ├── recursion.arret │ │ ├── set.arret │ │ ├── type-definitions.arret │ │ ├── typred.arret │ │ ├── vector.arret │ │ └── write.arret │ ├── ty/ │ │ ├── conv_abi.rs │ │ ├── datum.rs │ │ ├── intersect.rs │ │ ├── is_a.rs │ │ ├── list_iter.rs │ │ ├── mod.rs │ │ ├── pred.rs │ │ ├── props.rs │ │ ├── purity.rs │ │ ├── record.rs │ │ ├── select.rs │ │ ├── subst.rs │ │ ├── subtract.rs │ │ ├── ty_args.rs │ │ ├── unify.rs │ │ └── var_usage.rs │ └── typeck/ │ ├── dce.rs │ ├── destruc.rs │ ├── error.rs │ ├── infer.rs │ └── mod.rs ├── docker-compose.yml ├── docs/ │ └── language-design.md ├── driver/ │ ├── Cargo.toml │ ├── main.rs │ ├── subcommand/ │ │ ├── compile.rs │ │ ├── eval.rs │ │ ├── mod.rs │ │ └── repl/ │ │ ├── arret_helper.rs │ │ ├── command.rs │ │ ├── history.rs │ │ ├── mod.rs │ │ └── syntax.rs │ └── tests/ │ └── integration/ │ ├── hello-world.arret │ └── run.sh ├── editors/ │ └── code/ │ ├── .dockerignore │ ├── .eslintrc.yml │ ├── .gitignore │ ├── .vscode/ │ │ ├── launch.json │ │ ├── settings.json │ │ └── tasks.json │ ├── Dockerfile │ ├── language-configuration.json │ ├── package.json │ ├── src/ │ │ ├── extension.ts │ │ └── test/ │ │ ├── colorize-fixtures/ │ │ │ └── sample.arret │ │ ├── colorize-results/ │ │ │ └── sample_arret.json │ │ ├── downloadVsCode.ts │ │ ├── runTest.ts │ │ ├── suite/ │ │ │ ├── colorization.test.ts │ │ │ ├── extension.test.ts │ │ │ └── index.ts │ │ └── vsCodeVersion.ts │ ├── syntaxes/ │ │ └── arret.tmLanguage.json │ └── tsconfig.json ├── lsp-server/ │ ├── Cargo.toml │ ├── capabilities.rs │ ├── handler/ │ │ ├── mod.rs │ │ ├── text_synchronisation.rs │ │ └── workspace.rs │ ├── json_rpc.rs │ ├── main.rs │ ├── model/ │ │ ├── document.rs │ │ ├── mod.rs │ │ └── workspace.rs │ ├── session.rs │ ├── transport/ │ │ ├── bytestream.rs │ │ └── mod.rs │ └── watcher/ │ ├── mod.rs │ └── syntax.rs ├── rfi-derive/ │ ├── Cargo.toml │ └── lib.rs ├── runtime/ │ ├── Cargo.toml │ ├── abitype.rs │ ├── binding.rs │ ├── boxed/ │ │ ├── heap/ │ │ │ ├── collect.rs │ │ │ ├── mod.rs │ │ │ └── type_info.rs │ │ ├── mod.rs │ │ ├── refs.rs │ │ └── types/ │ │ ├── char.rs │ │ ├── field_value.rs │ │ ├── float.rs │ │ ├── fun.rs │ │ ├── int.rs │ │ ├── list.rs │ │ ├── map.rs │ │ ├── mod.rs │ │ ├── record.rs │ │ ├── record_data.rs │ │ ├── set.rs │ │ ├── shared_str.rs │ │ ├── str.rs │ │ ├── sym.rs │ │ └── vector.rs │ ├── callback.rs │ ├── class_map.rs │ ├── compiler_support.rs │ ├── intern.rs │ ├── lib.rs │ ├── persistent/ │ │ ├── mod.rs │ │ └── vector.rs │ └── task.rs ├── runtime-syntax/ │ ├── Cargo.toml │ ├── lib.rs │ ├── reader.rs │ └── writer.rs ├── stdlib/ │ ├── arret/ │ │ ├── base.arret │ │ ├── set.arret │ │ └── test.arret │ └── rust/ │ ├── Cargo.toml │ ├── bitwise.rs │ ├── hash.rs │ ├── lib.rs │ ├── list.rs │ ├── math.rs │ ├── number.rs │ ├── read.rs │ ├── set.rs │ ├── testing.rs │ ├── vector.rs │ └── write.rs └── syntax/ ├── Cargo.toml ├── anon_fun.rs ├── datum.rs ├── error.rs ├── lib.rs ├── parser.rs └── span.rs