gitextract_srwgaxf_/ ├── .github/ │ └── workflows/ │ └── .githubCI.yml ├── .gitignore ├── .travis.sh ├── .travis.yml ├── AUTHORS ├── CHANGELOG.md ├── LICENSE ├── README.md ├── doc/ │ ├── error-handling.txt │ ├── implicit fields.txt │ ├── instruction counts.txt │ ├── notes/ │ │ ├── import syntax.md │ │ └── re-entrancy.md │ ├── receiver-less calls 2.txt │ ├── receiver-less calls.txt │ ├── rfc/ │ │ └── 0001-smarter-imports.md │ └── site/ │ ├── blog/ │ │ ├── 0-hello-wren.markdown │ │ ├── 1-0.2.0-and-beyond.markdown │ │ ├── 2-0.3.0-released.markdown │ │ ├── 3-0.4.0-released.markdown │ │ ├── index.markdown │ │ ├── rss.xml │ │ └── template.html │ ├── classes.markdown │ ├── cli/ │ │ ├── index.markdown │ │ ├── modules/ │ │ │ ├── index.markdown │ │ │ ├── io/ │ │ │ │ ├── directory.markdown │ │ │ │ ├── file-flags.markdown │ │ │ │ ├── file.markdown │ │ │ │ ├── index.markdown │ │ │ │ ├── stat.markdown │ │ │ │ ├── stdin.markdown │ │ │ │ ├── stdout.markdown │ │ │ │ └── template.html │ │ │ ├── os/ │ │ │ │ ├── index.markdown │ │ │ │ ├── platform.markdown │ │ │ │ ├── process.markdown │ │ │ │ └── template.html │ │ │ ├── scheduler/ │ │ │ │ ├── index.markdown │ │ │ │ ├── scheduler.markdown │ │ │ │ └── template.html │ │ │ ├── template.html │ │ │ └── timer/ │ │ │ ├── index.markdown │ │ │ ├── template.html │ │ │ └── timer.markdown │ │ ├── template.html │ │ └── usage.markdown │ ├── concurrency.markdown │ ├── contributing.markdown │ ├── control-flow.markdown │ ├── embedding/ │ │ ├── calling-c-from-wren.markdown │ │ ├── calling-wren-from-c.markdown │ │ ├── configuring-the-vm.markdown │ │ ├── index.markdown │ │ ├── slots-and-handles.markdown │ │ ├── storing-c-data.markdown │ │ └── template.html │ ├── error-handling.markdown │ ├── functions.markdown │ ├── getting-started.markdown │ ├── index.markdown │ ├── lists.markdown │ ├── maps.markdown │ ├── method-calls.markdown │ ├── modularity.markdown │ ├── modules/ │ │ ├── core/ │ │ │ ├── bool.markdown │ │ │ ├── class.markdown │ │ │ ├── fiber.markdown │ │ │ ├── fn.markdown │ │ │ ├── index.markdown │ │ │ ├── list.markdown │ │ │ ├── map.markdown │ │ │ ├── null.markdown │ │ │ ├── num.markdown │ │ │ ├── object.markdown │ │ │ ├── range.markdown │ │ │ ├── sequence.markdown │ │ │ ├── string.markdown │ │ │ ├── system.markdown │ │ │ └── template.html │ │ ├── index.markdown │ │ ├── meta/ │ │ │ ├── index.markdown │ │ │ ├── meta.markdown │ │ │ └── template.html │ │ ├── random/ │ │ │ ├── index.markdown │ │ │ ├── random.markdown │ │ │ └── template.html │ │ └── template.html │ ├── performance.markdown │ ├── qa.markdown │ ├── static/ │ │ ├── codejar-linenumbers.js │ │ ├── codejar.js │ │ ├── prism.css │ │ ├── prism.js │ │ ├── style.css │ │ ├── wren.js │ │ ├── wren_try.js │ │ └── wren_try.wasm │ ├── syntax.markdown │ ├── template.html │ ├── try/ │ │ ├── index.markdown │ │ └── template.html │ ├── values.markdown │ └── variables.markdown ├── example/ │ ├── embedding/ │ │ └── main.c │ ├── hello.wren │ ├── import_module/ │ │ ├── cthulu.wren │ │ └── lovecraft.wren │ ├── mandelbrot.wren │ ├── skynet.wren │ └── syntax.wren ├── projects/ │ ├── make/ │ │ ├── Makefile │ │ ├── wren.make │ │ ├── wren_shared.make │ │ └── wren_test.make │ ├── make.bsd/ │ │ ├── Makefile │ │ ├── wren.make │ │ ├── wren_shared.make │ │ └── wren_test.make │ ├── make.mac/ │ │ ├── Makefile │ │ ├── wren.make │ │ ├── wren_shared.make │ │ └── wren_test.make │ ├── premake/ │ │ └── premake5.lua │ ├── vs2017/ │ │ ├── wren.sln │ │ ├── wren.vcxproj │ │ ├── wren.vcxproj.filters │ │ ├── wren_shared.vcxproj │ │ ├── wren_shared.vcxproj.filters │ │ ├── wren_test.vcxproj │ │ └── wren_test.vcxproj.filters │ ├── vs2019/ │ │ ├── wren.sln │ │ ├── wren.vcxproj │ │ ├── wren.vcxproj.filters │ │ ├── wren_shared.vcxproj │ │ ├── wren_shared.vcxproj.filters │ │ ├── wren_test.vcxproj │ │ └── wren_test.vcxproj.filters │ └── xcode/ │ ├── wren.xcodeproj/ │ │ └── project.pbxproj │ ├── wren.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── wren_shared.xcodeproj/ │ │ └── project.pbxproj │ └── wren_test.xcodeproj/ │ └── project.pbxproj ├── src/ │ ├── README.md │ ├── include/ │ │ ├── wren.h │ │ └── wren.hpp │ ├── optional/ │ │ ├── wren_opt_meta.c │ │ ├── wren_opt_meta.h │ │ ├── wren_opt_meta.wren │ │ ├── wren_opt_meta.wren.inc │ │ ├── wren_opt_random.c │ │ ├── wren_opt_random.h │ │ ├── wren_opt_random.wren │ │ └── wren_opt_random.wren.inc │ └── vm/ │ ├── wren_common.h │ ├── wren_compiler.c │ ├── wren_compiler.h │ ├── wren_core.c │ ├── wren_core.h │ ├── wren_core.wren │ ├── wren_core.wren.inc │ ├── wren_debug.c │ ├── wren_debug.h │ ├── wren_math.h │ ├── wren_opcodes.h │ ├── wren_primitive.c │ ├── wren_primitive.h │ ├── wren_utils.c │ ├── wren_utils.h │ ├── wren_value.c │ ├── wren_value.h │ ├── wren_vm.c │ └── wren_vm.h ├── test/ │ ├── README.md │ ├── api/ │ │ ├── api_tests.c │ │ ├── api_tests.h │ │ ├── benchmark.c │ │ ├── benchmark.h │ │ ├── call.c │ │ ├── call.h │ │ ├── call.wren │ │ ├── call_calls_foreign.c │ │ ├── call_calls_foreign.h │ │ ├── call_calls_foreign.wren │ │ ├── call_wren_call_root.c │ │ ├── call_wren_call_root.h │ │ ├── call_wren_call_root.wren │ │ ├── error.c │ │ ├── error.h │ │ ├── error.wren │ │ ├── foreign_class.c │ │ ├── foreign_class.h │ │ ├── foreign_class.wren │ │ ├── get_variable.c │ │ ├── get_variable.h │ │ ├── get_variable.wren │ │ ├── get_variable_module.wren │ │ ├── handle.c │ │ ├── handle.h │ │ ├── handle.wren │ │ ├── lists.c │ │ ├── lists.h │ │ ├── lists.wren │ │ ├── maps.c │ │ ├── maps.h │ │ ├── maps.wren │ │ ├── new_vm.c │ │ ├── new_vm.h │ │ ├── new_vm.wren │ │ ├── reset_stack_after_call_abort.c │ │ ├── reset_stack_after_call_abort.h │ │ ├── reset_stack_after_call_abort.wren │ │ ├── reset_stack_after_foreign_construct.c │ │ ├── reset_stack_after_foreign_construct.h │ │ ├── reset_stack_after_foreign_construct.wren │ │ ├── resolution.c │ │ ├── resolution.h │ │ ├── resolution.wren │ │ ├── slots.c │ │ ├── slots.h │ │ ├── slots.wren │ │ ├── user_data.c │ │ ├── user_data.h │ │ └── user_data.wren │ ├── benchmark/ │ │ ├── README.md │ │ ├── api_call.wren │ │ ├── api_foreign_method.wren │ │ ├── binary_trees.dart │ │ ├── binary_trees.lua │ │ ├── binary_trees.py │ │ ├── binary_trees.rb │ │ ├── binary_trees.wren │ │ ├── binary_trees_gc.wren │ │ ├── delta_blue.dart │ │ ├── delta_blue.lua.inprogress │ │ ├── delta_blue.py │ │ ├── delta_blue.wren │ │ ├── fannkuch.lua │ │ ├── fannkuch.py │ │ ├── fannkuch.rb │ │ ├── fib.dart │ │ ├── fib.lua │ │ ├── fib.py │ │ ├── fib.rb │ │ ├── fib.wren │ │ ├── fibers.wren │ │ ├── for.dart │ │ ├── for.lua │ │ ├── for.py │ │ ├── for.rb │ │ ├── for.wren │ │ ├── map_numeric.dart.skip │ │ ├── map_numeric.lua │ │ ├── map_numeric.py │ │ ├── map_numeric.rb │ │ ├── map_numeric.wren │ │ ├── map_string.lua │ │ ├── map_string.py │ │ ├── map_string.rb │ │ ├── map_string.wren │ │ ├── method_call.dart │ │ ├── method_call.lua │ │ ├── method_call.py │ │ ├── method_call.rb │ │ ├── method_call.wren │ │ ├── string_equals.py │ │ └── string_equals.wren │ ├── core/ │ │ ├── bool/ │ │ │ ├── equality.wren │ │ │ ├── no_constructor.wren │ │ │ ├── not.wren │ │ │ ├── to_string.wren │ │ │ └── type.wren │ │ ├── class/ │ │ │ ├── equality.wren │ │ │ ├── name.wren │ │ │ ├── no_constructor.wren │ │ │ ├── supertype.wren │ │ │ └── type.wren │ │ ├── fiber/ │ │ │ ├── abort.wren │ │ │ ├── abort_main_fiber.wren │ │ │ ├── abort_not_string.wren │ │ │ ├── abort_null.wren │ │ │ ├── call.wren │ │ │ ├── call_direct_reenter.wren │ │ │ ├── call_done.wren │ │ │ ├── call_error.wren │ │ │ ├── call_indirect_reenter.wren │ │ │ ├── call_return_implicit_null.wren │ │ │ ├── call_return_value.wren │ │ │ ├── call_root.wren │ │ │ ├── call_to_parameter.wren │ │ │ ├── call_transferred.wren │ │ │ ├── call_with_value.wren │ │ │ ├── call_with_value_direct_reenter.wren │ │ │ ├── call_with_value_done.wren │ │ │ ├── call_with_value_error.wren │ │ │ ├── call_with_value_indirect_reenter.wren │ │ │ ├── call_with_value_to_parameter.wren │ │ │ ├── call_with_value_transferred.wren │ │ │ ├── error.wren │ │ │ ├── is_done.wren │ │ │ ├── is_done_after_error.wren │ │ │ ├── new_wrong_arg_type.wren │ │ │ ├── new_wrong_arity.wren │ │ │ ├── resume_caller.wren │ │ │ ├── transfer.wren │ │ │ ├── transfer_direct_reenter.wren │ │ │ ├── transfer_error.wren │ │ │ ├── transfer_error_not_string.wren │ │ │ ├── transfer_indirect_reenter.wren │ │ │ ├── transfer_return_call_value.wren │ │ │ ├── transfer_return_transfer_value.wren │ │ │ ├── transfer_to_done.wren │ │ │ ├── transfer_to_error.wren │ │ │ ├── transfer_to_parameter.wren │ │ │ ├── transfer_to_yielded.wren │ │ │ ├── transfer_with_value.wren │ │ │ ├── transfer_with_value_direct_reenter.wren │ │ │ ├── transfer_with_value_indirect_reenter.wren │ │ │ ├── transfer_with_value_to_done.wren │ │ │ ├── transfer_with_value_to_error.wren │ │ │ ├── transfer_with_value_to_parameter.wren │ │ │ ├── transfer_with_value_to_yielded.wren │ │ │ ├── try.wren │ │ │ ├── try_direct_reenter.wren │ │ │ ├── try_done.wren │ │ │ ├── try_error.wren │ │ │ ├── try_indirect_reenter.wren │ │ │ ├── try_through_call.wren │ │ │ ├── try_value.wren │ │ │ ├── try_value_yield.wren │ │ │ ├── try_without_error.wren │ │ │ ├── type.wren │ │ │ ├── yield.wren │ │ │ ├── yield_from_import.wren │ │ │ ├── yield_from_import_module.wren │ │ │ ├── yield_from_main.wren │ │ │ ├── yield_return_call_value.wren │ │ │ ├── yield_return_transfer_value.wren │ │ │ ├── yield_with_no_caller.wren │ │ │ ├── yield_with_value.wren │ │ │ ├── yield_with_value_from_main.wren │ │ │ └── yield_with_value_with_no_caller.wren │ │ ├── function/ │ │ │ ├── arity.wren │ │ │ ├── call_extra_arguments.wren │ │ │ ├── call_missing_arguments.wren │ │ │ ├── call_runtime_error.wren │ │ │ ├── equality.wren │ │ │ ├── new_wrong_arg_type.wren │ │ │ ├── to_string.wren │ │ │ └── type.wren │ │ ├── list/ │ │ │ ├── add.wren │ │ │ ├── add_all.wren │ │ │ ├── clear.wren │ │ │ ├── contains.wren │ │ │ ├── count.wren │ │ │ ├── count_predicate.wren │ │ │ ├── count_predicate_non_bool_returning_fn.wren │ │ │ ├── count_predicate_non_function_arg.wren │ │ │ ├── each.wren │ │ │ ├── each_no_items.wren │ │ │ ├── each_non_function_arg.wren │ │ │ ├── filled.wren │ │ │ ├── filled_size_negative.wren │ │ │ ├── filled_size_not_int.wren │ │ │ ├── filled_size_not_num.wren │ │ │ ├── index_of.wren │ │ │ ├── insert.wren │ │ │ ├── insert_index_not_int.wren │ │ │ ├── insert_index_not_num.wren │ │ │ ├── insert_index_too_large.wren │ │ │ ├── insert_index_too_small.wren │ │ │ ├── iterate.wren │ │ │ ├── iterate_iterator_not_int.wren │ │ │ ├── iterate_iterator_not_num.wren │ │ │ ├── iterator_value.wren │ │ │ ├── iterator_value_iterator_not_int.wren │ │ │ ├── iterator_value_iterator_not_num.wren │ │ │ ├── iterator_value_iterator_too_large.wren │ │ │ ├── iterator_value_iterator_too_small.wren │ │ │ ├── join.wren │ │ │ ├── join_separator_not_string.wren │ │ │ ├── map.wren │ │ │ ├── multiply.wren │ │ │ ├── multiply_negative.wren │ │ │ ├── multiply_not_int.wren │ │ │ ├── multiply_not_num.wren │ │ │ ├── new.wren │ │ │ ├── not.wren │ │ │ ├── plus.wren │ │ │ ├── plus_not_iterable.wren │ │ │ ├── reduce.wren │ │ │ ├── reduce_no_items.wren │ │ │ ├── reduce_single_item.wren │ │ │ ├── reduce_wrong_arity.wren │ │ │ ├── remove.wren │ │ │ ├── remove_at.wren │ │ │ ├── remove_at_index_not_int.wren │ │ │ ├── remove_at_index_not_num.wren │ │ │ ├── remove_at_index_too_large.wren │ │ │ ├── remove_at_index_too_small.wren │ │ │ ├── sort.wren │ │ │ ├── subscript.wren │ │ │ ├── subscript_not_int.wren │ │ │ ├── subscript_range.wren │ │ │ ├── subscript_range_from_not_int.wren │ │ │ ├── subscript_range_from_too_large.wren │ │ │ ├── subscript_range_from_too_small.wren │ │ │ ├── subscript_range_to_exclusive_too_large.wren │ │ │ ├── subscript_range_to_exclusive_too_small.wren │ │ │ ├── subscript_range_to_not_int.wren │ │ │ ├── subscript_range_to_too_large.wren │ │ │ ├── subscript_range_to_too_small.wren │ │ │ ├── subscript_setter.wren │ │ │ ├── subscript_setter_not_int.wren │ │ │ ├── subscript_setter_not_num.wren │ │ │ ├── subscript_setter_too_large.wren │ │ │ ├── subscript_setter_too_small.wren │ │ │ ├── subscript_too_large.wren │ │ │ ├── subscript_too_small.wren │ │ │ ├── subscript_wrong_type.wren │ │ │ ├── swap.wren │ │ │ ├── to_string.wren │ │ │ ├── type.wren │ │ │ └── where.wren │ │ ├── map/ │ │ │ ├── churn.wren │ │ │ ├── clear.wren │ │ │ ├── contains_key.wren │ │ │ ├── contains_key_not_value.wren │ │ │ ├── count.wren │ │ │ ├── empty_string_key.wren │ │ │ ├── is_empty.wren │ │ │ ├── iterate.wren │ │ │ ├── iterate_iterator_not_int.wren │ │ │ ├── iterate_iterator_not_num.wren │ │ │ ├── iterator_value.wren │ │ │ ├── iterator_value_iterator_not_int.wren │ │ │ ├── iterator_value_iterator_not_num.wren │ │ │ ├── iterator_value_iterator_too_large.wren │ │ │ ├── iterator_value_iterator_too_small.wren │ │ │ ├── key_iterate.wren │ │ │ ├── key_iterate_iterator_not_int.wren │ │ │ ├── key_iterate_iterator_not_num.wren │ │ │ ├── key_types.wren │ │ │ ├── new.wren │ │ │ ├── remove.wren │ │ │ ├── remove_key_not_value.wren │ │ │ ├── reuse_tombstone.wren │ │ │ ├── subscript_empty_map.wren │ │ │ ├── subscript_key_not_value.wren │ │ │ ├── subscript_setter_key_not_value.wren │ │ │ ├── to_string.wren │ │ │ ├── type.wren │ │ │ ├── value_iterate.wren │ │ │ ├── value_iterate_iterator_not_int.wren │ │ │ └── value_iterate_iterator_not_num.wren │ │ ├── map_entry/ │ │ │ └── new.wren │ │ ├── null/ │ │ │ ├── no_constructor.wren │ │ │ ├── not.wren │ │ │ └── type.wren │ │ ├── number/ │ │ │ ├── abs.wren │ │ │ ├── acos.wren │ │ │ ├── asin.wren │ │ │ ├── atan.wren │ │ │ ├── atan2.wren │ │ │ ├── atan2_x_not_num.wren │ │ │ ├── bitwise_and.wren │ │ │ ├── bitwise_and_operand_not_num.wren │ │ │ ├── bitwise_lsh.wren │ │ │ ├── bitwise_lsh_operand_not_num.wren │ │ │ ├── bitwise_not.wren │ │ │ ├── bitwise_or.wren │ │ │ ├── bitwise_or_operand_not_num.wren │ │ │ ├── bitwise_rsh.wren │ │ │ ├── bitwise_rsh_operand_not_num.wren │ │ │ ├── bitwise_xor.wren │ │ │ ├── bitwise_xor_operand_not_num.wren │ │ │ ├── cbrt.wren │ │ │ ├── ceil.wren │ │ │ ├── clamp.wren │ │ │ ├── clamp_max_not_num.wren │ │ │ ├── clamp_min_not_num.wren │ │ │ ├── comparison.wren │ │ │ ├── cos.wren │ │ │ ├── decimal_point_at_eof.wren │ │ │ ├── divide.wren │ │ │ ├── divide_operand_not_num.wren │ │ │ ├── equality.wren │ │ │ ├── exp.wren │ │ │ ├── floor.wren │ │ │ ├── fraction.wren │ │ │ ├── from_string.wren │ │ │ ├── from_string_not_string.wren │ │ │ ├── from_string_too_large.wren │ │ │ ├── greater_than_equal_operand_not_num.wren │ │ │ ├── greater_than_operand_not_num.wren │ │ │ ├── invalid_hex_literal.wren │ │ │ ├── is_infinity.wren │ │ │ ├── is_integer.wren │ │ │ ├── is_nan.wren │ │ │ ├── largest.wren │ │ │ ├── less_than_equal_operand_not_num.wren │ │ │ ├── less_than_operand_not_num.wren │ │ │ ├── log.wren │ │ │ ├── log2.wren │ │ │ ├── maxSafeInteger.wren │ │ │ ├── max_other_not_num.wren │ │ │ ├── minSafeInteger.wren │ │ │ ├── min_max.wren │ │ │ ├── min_other_not_num.wren │ │ │ ├── minus.wren │ │ │ ├── minus_operand_not_num.wren │ │ │ ├── mod.wren │ │ │ ├── mod_operand_not_num.wren │ │ │ ├── multiply.wren │ │ │ ├── multiply_operand_not_num.wren │ │ │ ├── no_constructor.wren │ │ │ ├── not.wren │ │ │ ├── plus.wren │ │ │ ├── plus_operand_not_num.wren │ │ │ ├── pow.wren │ │ │ ├── pow_power_not_num.wren │ │ │ ├── round.wren │ │ │ ├── sign.wren │ │ │ ├── sin.wren │ │ │ ├── smallest.wren │ │ │ ├── sqrt.wren │ │ │ ├── tan.wren │ │ │ ├── to_string.wren │ │ │ ├── truncate.wren │ │ │ └── type.wren │ │ ├── object/ │ │ │ ├── is.wren │ │ │ ├── no_constructor.wren │ │ │ ├── nonclass_on_right.wren │ │ │ ├── not.wren │ │ │ ├── same.wren │ │ │ ├── to_string.wren │ │ │ └── type.wren │ │ ├── range/ │ │ │ ├── contains.wren │ │ │ ├── equality.wren │ │ │ ├── exclusive_range_wrong_rhs_type.wren │ │ │ ├── from.wren │ │ │ ├── inclusive_range_wrong_rhs_type.wren │ │ │ ├── is_inclusive.wren │ │ │ ├── iterate.wren │ │ │ ├── iterate_from_float.wren │ │ │ ├── iterate_wrong_type.wren │ │ │ ├── iterator_value.wren │ │ │ ├── join.wren │ │ │ ├── join_separator_not_string.wren │ │ │ ├── map.wren │ │ │ ├── max.wren │ │ │ ├── min.wren │ │ │ ├── no_constructor.wren │ │ │ ├── reduce.wren │ │ │ ├── to.wren │ │ │ ├── to_string.wren │ │ │ ├── type.wren │ │ │ └── where.wren │ │ ├── sequence/ │ │ │ ├── all.wren │ │ │ ├── all_non_function_arg.wren │ │ │ ├── any.wren │ │ │ ├── any_non_function_arg.wren │ │ │ ├── count.wren │ │ │ ├── is_empty.wren │ │ │ ├── map.wren │ │ │ ├── no_constructor.wren │ │ │ ├── skip.wren │ │ │ ├── skip_negative.wren │ │ │ ├── skip_not_int.wren │ │ │ ├── skip_not_num.wren │ │ │ ├── take.wren │ │ │ ├── take_negative.wren │ │ │ ├── take_not_int.wren │ │ │ ├── take_not_num.wren │ │ │ ├── to_list.wren │ │ │ └── where.wren │ │ ├── string/ │ │ │ ├── bytes.wren │ │ │ ├── concatenation.wren │ │ │ ├── concatenation_wrong_arg_type.wren │ │ │ ├── contains.wren │ │ │ ├── contains_argument_not_string.wren │ │ │ ├── count.wren │ │ │ ├── ends_with.wren │ │ │ ├── ends_with_invalid_arg.wren │ │ │ ├── equality.wren │ │ │ ├── from_byte.wren │ │ │ ├── from_byte_not_int.wren │ │ │ ├── from_byte_not_num.wren │ │ │ ├── from_byte_too_large.wren │ │ │ ├── from_byte_too_small.wren │ │ │ ├── from_code_point.wren │ │ │ ├── from_code_point_not_int.wren │ │ │ ├── from_code_point_not_num.wren │ │ │ ├── from_code_point_too_large.wren │ │ │ ├── from_code_point_too_small.wren │ │ │ ├── index_of.wren │ │ │ ├── index_of_invalid_arg.wren │ │ │ ├── index_of_start.wren │ │ │ ├── index_of_start_not_int.wren │ │ │ ├── index_of_start_not_num.wren │ │ │ ├── index_of_start_too_large.wren │ │ │ ├── index_of_start_too_small.wren │ │ │ ├── iterate.wren │ │ │ ├── iterate_iterator_not_int.wren │ │ │ ├── iterate_iterator_not_num.wren │ │ │ ├── iterator_value.wren │ │ │ ├── iterator_value_iterator_not_int.wren │ │ │ ├── iterator_value_iterator_not_num.wren │ │ │ ├── iterator_value_iterator_too_large.wren │ │ │ ├── iterator_value_iterator_too_small.wren │ │ │ ├── join.wren │ │ │ ├── join_separator_not_string.wren │ │ │ ├── multiply.wren │ │ │ ├── multiply_negative.wren │ │ │ ├── multiply_not_int.wren │ │ │ ├── multiply_not_num.wren │ │ │ ├── no_constructor.wren │ │ │ ├── not.wren │ │ │ ├── replace.wren │ │ │ ├── replace_empty_old.wren │ │ │ ├── replace_new_not_string.wren │ │ │ ├── replace_old_not_string.wren │ │ │ ├── split.wren │ │ │ ├── split_argument_not_string.wren │ │ │ ├── split_empty_seperator.wren │ │ │ ├── starts_with.wren │ │ │ ├── starts_with_invalid_arg.wren │ │ │ ├── subscript.wren │ │ │ ├── subscript_not_int.wren │ │ │ ├── subscript_not_num.wren │ │ │ ├── subscript_range.wren │ │ │ ├── subscript_range_from_not_int.wren │ │ │ ├── subscript_range_from_too_large.wren │ │ │ ├── subscript_range_from_too_small.wren │ │ │ ├── subscript_range_to_exclusive_too_large.wren │ │ │ ├── subscript_range_to_exclusive_too_small.wren │ │ │ ├── subscript_range_to_not_int.wren │ │ │ ├── subscript_range_to_too_large.wren │ │ │ ├── subscript_range_to_too_small.wren │ │ │ ├── subscript_too_large.wren │ │ │ ├── subscript_too_small.wren │ │ │ ├── to_string.wren │ │ │ ├── trim.wren │ │ │ ├── trim_chars_not_string.wren │ │ │ ├── trim_end.wren │ │ │ ├── trim_end_chars_not_string.wren │ │ │ ├── trim_start.wren │ │ │ ├── trim_start_chars_not_string.wren │ │ │ └── type.wren │ │ ├── string_byte_sequence/ │ │ │ ├── count.wren │ │ │ ├── iterate.wren │ │ │ ├── iterate_not_int.wren │ │ │ ├── iterate_wrong_type.wren │ │ │ ├── iterator_value.wren │ │ │ ├── iterator_value_not_int.wren │ │ │ ├── iterator_value_not_num.wren │ │ │ ├── iterator_value_too_large.wren │ │ │ ├── iterator_value_too_small.wren │ │ │ ├── subscript.wren │ │ │ ├── subscript_not_int.wren │ │ │ ├── subscript_not_num.wren │ │ │ ├── subscript_too_large.wren │ │ │ └── subscript_too_small.wren │ │ ├── string_code_point_sequence/ │ │ │ ├── count.wren │ │ │ ├── iterate.wren │ │ │ ├── iterate_iterator_not_int.wren │ │ │ ├── iterate_iterator_not_num.wren │ │ │ ├── iterator_value.wren │ │ │ ├── iterator_value_incomplete.wren │ │ │ ├── iterator_value_not_int.wren │ │ │ ├── iterator_value_not_num.wren │ │ │ ├── iterator_value_too_large.wren │ │ │ ├── iterator_value_too_small.wren │ │ │ ├── subscript.wren │ │ │ ├── subscript_incomplete.wren │ │ │ ├── subscript_not_int.wren │ │ │ ├── subscript_not_num.wren │ │ │ ├── subscript_too_large.wren │ │ │ └── subscript_too_small.wren │ │ └── system/ │ │ ├── print.wren │ │ ├── print_all.wren │ │ ├── print_all_not_sequence.wren │ │ ├── print_bad_to_string.wren │ │ ├── write_all.wren │ │ ├── write_all_not_sequence.wren │ │ └── write_bad_to_string.wren │ ├── language/ │ │ ├── assignment/ │ │ │ ├── associativity.wren │ │ │ ├── global.wren │ │ │ ├── grouping.wren │ │ │ ├── infix_operator.wren │ │ │ ├── is.wren │ │ │ ├── local.wren │ │ │ ├── prefix_operator.wren │ │ │ ├── syntax.wren │ │ │ └── undefined.wren │ │ ├── bitwise_precedence.wren │ │ ├── bom.wren │ │ ├── break/ │ │ │ ├── closure_in_for.wren │ │ │ ├── closure_in_while.wren │ │ │ ├── exit_local_scopes.wren │ │ │ ├── in_for_loop.wren │ │ │ ├── in_function_in_loop.wren │ │ │ ├── in_method_in_loop.wren │ │ │ ├── in_while_loop.wren │ │ │ ├── nested_for_loop.wren │ │ │ ├── nested_while_loop.wren │ │ │ └── outside_loop.wren │ │ ├── chained_newline.wren │ │ ├── class/ │ │ │ ├── attributes/ │ │ │ │ ├── attributes.wren │ │ │ │ ├── compile_only.wren │ │ │ │ ├── duplicate_keys.wren │ │ │ │ ├── groups.wren │ │ │ │ ├── invalid_expression.wren │ │ │ │ ├── invalid_scope.wren │ │ │ │ ├── invalid_toplevel.wren │ │ │ │ ├── literals.wren │ │ │ │ ├── methods.wren │ │ │ │ └── without.wren │ │ │ ├── field_in_foreign_class.wren │ │ │ ├── foreign_class_inherit_fields.wren │ │ │ ├── lowercase_name_inside_body.wren │ │ │ ├── missing_class_after_foreign.wren │ │ │ ├── name_inside_body.wren │ │ │ ├── newline_after_class.wren │ │ │ ├── newline_after_static.wren │ │ │ └── syntax.wren │ │ ├── closure/ │ │ │ ├── assign_to_closure.wren │ │ │ ├── close_over_function_parameter.wren │ │ │ ├── close_over_later_variable.wren │ │ │ ├── close_over_method_parameter.wren │ │ │ ├── closed_closure_in_function.wren │ │ │ ├── nested_closure.wren │ │ │ ├── open_closure_in_function.wren │ │ │ ├── reference_closure_multiple_times.wren │ │ │ ├── reuse_closure_slot.wren │ │ │ ├── shadow_closure_with_local.wren │ │ │ ├── unused_closure.wren │ │ │ └── unused_later_closure.wren │ │ ├── comments/ │ │ │ ├── block.wren │ │ │ ├── block_at_eof.wren │ │ │ ├── line_at_eof.wren │ │ │ ├── only_line_comment.wren │ │ │ ├── only_line_comment_and_line.wren │ │ │ ├── unicode.wren │ │ │ ├── unterminated_block.wren │ │ │ └── unterminated_nested_block.wren │ │ ├── conditional/ │ │ │ ├── conditional_in_then.wren │ │ │ ├── missing_colon.wren │ │ │ ├── missing_condition.wren │ │ │ ├── missing_else.wren │ │ │ ├── missing_question.wren │ │ │ ├── missing_then.wren │ │ │ ├── newlines.wren │ │ │ ├── precedence.wren │ │ │ └── short_circuit.wren │ │ ├── constructor/ │ │ │ ├── cannot_be_infix.wren │ │ │ ├── cannot_be_minus.wren │ │ │ ├── cannot_be_setter.wren │ │ │ ├── cannot_be_static.wren │ │ │ ├── cannot_be_subscript.wren │ │ │ ├── cannot_be_unary.wren │ │ │ ├── cannot_call_initializer.wren │ │ │ ├── cannot_return_value.wren │ │ │ ├── named.wren │ │ │ ├── no_default.wren │ │ │ ├── no_parameter_list.wren │ │ │ ├── not_inherited.wren │ │ │ ├── return_without_value.wren │ │ │ ├── super_must_have_args.wren │ │ │ └── superclass.wren │ │ ├── continue/ │ │ │ ├── closure_in_for.wren │ │ │ ├── closure_in_while.wren │ │ │ ├── exit_local_scopes.wren │ │ │ ├── in_for_loop.wren │ │ │ ├── in_function_in_loop.wren │ │ │ ├── in_method_in_loop.wren │ │ │ ├── in_while_loop.wren │ │ │ ├── nested_for_loop.wren │ │ │ ├── nested_while_loop.wren │ │ │ └── outside_loop.wren │ │ ├── deeply_nested_gc.wren │ │ ├── empty_block.wren │ │ ├── empty_file.wren │ │ ├── fiber/ │ │ │ └── closure.wren │ │ ├── field/ │ │ │ ├── closure.wren │ │ │ ├── default_to_null.wren │ │ │ ├── in_fn_in_static_method.wren │ │ │ ├── in_static_method.wren │ │ │ ├── in_static_method_in_nested_class.wren │ │ │ ├── multiple.wren │ │ │ ├── nested_class.wren │ │ │ ├── object_reference.wren │ │ │ ├── outside_class.wren │ │ │ └── use_before_set.wren │ │ ├── for/ │ │ │ ├── close_over_loop_variable.wren │ │ │ ├── closure_in_body.wren │ │ │ ├── newline_after_for.wren │ │ │ ├── newline_before_in.wren │ │ │ ├── only_evaluate_sequence_once.wren │ │ │ ├── return_closure.wren │ │ │ ├── return_inside.wren │ │ │ ├── syntax.wren │ │ │ └── truth.wren │ │ ├── foreign/ │ │ │ ├── foreign_after_static.wren │ │ │ ├── foreign_method_with_body.wren │ │ │ └── unknown_method.wren │ │ ├── function/ │ │ │ ├── empty_body.wren │ │ │ ├── newline_body.wren │ │ │ ├── newline_in_expression_block.wren │ │ │ ├── no_newline_before_close.wren │ │ │ ├── no_parameters.wren │ │ │ ├── parameters.wren │ │ │ └── syntax.wren │ │ ├── if/ │ │ │ ├── dangling_else.wren │ │ │ ├── else.wren │ │ │ ├── if.wren │ │ │ ├── newline_after_else.wren │ │ │ ├── newline_after_if.wren │ │ │ └── truth.wren │ │ ├── ignore_carriage_returns.wren │ │ ├── implicit_receiver/ │ │ │ ├── inherited_methods.wren │ │ │ ├── instance_methods.wren │ │ │ ├── locals_shadow_getter.wren │ │ │ ├── locals_shadow_setter.wren │ │ │ ├── nested_class.wren │ │ │ └── static_methods.wren │ │ ├── inheritance/ │ │ │ ├── do_not_inherit_static_methods.wren │ │ │ ├── inherit_fields.wren │ │ │ ├── inherit_from_bool.wren │ │ │ ├── inherit_from_class.wren │ │ │ ├── inherit_from_closure.wren │ │ │ ├── inherit_from_fiber.wren │ │ │ ├── inherit_from_fn.wren │ │ │ ├── inherit_from_list.wren │ │ │ ├── inherit_from_map.wren │ │ │ ├── inherit_from_nonclass.wren │ │ │ ├── inherit_from_null.wren │ │ │ ├── inherit_from_null_class.wren │ │ │ ├── inherit_from_num.wren │ │ │ ├── inherit_from_range.wren │ │ │ ├── inherit_from_string.wren │ │ │ ├── inherit_methods.wren │ │ │ ├── inherited_fields_in_closure.wren │ │ │ └── is.wren │ │ ├── interpolation/ │ │ │ ├── empty.wren │ │ │ ├── interpolation.wren │ │ │ ├── runtime_error_in_expression.wren │ │ │ ├── switch_fiber.wren │ │ │ ├── unterminated.wren │ │ │ └── unterminated_expression.wren │ │ ├── list/ │ │ │ ├── duplicate_comma.wren │ │ │ ├── duplicate_trailing_comma.wren │ │ │ ├── empty_list_with_comma.wren │ │ │ ├── eof_after_comma.wren │ │ │ ├── eof_after_element.wren │ │ │ ├── grow_shrink.wren │ │ │ ├── newline_before_comma.wren │ │ │ ├── newlines.wren │ │ │ └── trailing_comma.wren │ │ ├── logical_operator/ │ │ │ ├── and.wren │ │ │ ├── and_truth.wren │ │ │ ├── or.wren │ │ │ └── or_truth.wren │ │ ├── many_reallocations.wren │ │ ├── map/ │ │ │ ├── bad_key_precedence.wren │ │ │ ├── duplicate_comma.wren │ │ │ ├── duplicate_trailing_comma.wren │ │ │ ├── empty_map_with_comma.wren │ │ │ ├── eof_after_colon.wren │ │ │ ├── eof_after_comma.wren │ │ │ ├── eof_after_key.wren │ │ │ ├── eof_after_value.wren │ │ │ ├── grow_and_shrink.wren │ │ │ ├── newlines.wren │ │ │ ├── precedence.wren │ │ │ └── trailing_comma.wren │ │ ├── method/ │ │ │ ├── arity.wren │ │ │ ├── call_name_too_long.wren │ │ │ ├── duplicate_methods.wren │ │ │ ├── empty_block.wren │ │ │ ├── empty_subscript_call.wren │ │ │ ├── empty_subscript_definition.wren │ │ │ ├── long_name.wren │ │ │ ├── many_methods.wren │ │ │ ├── name_too_long.wren │ │ │ ├── newlines.wren │ │ │ ├── no_parameters_new_line.wren │ │ │ ├── not_found.wren │ │ │ ├── not_found_eleven_arguments.wren │ │ │ ├── not_found_multiple_arguments.wren │ │ │ ├── not_found_one_argument.wren │ │ │ ├── operators.wren │ │ │ ├── static.wren │ │ │ ├── static_method_not_found.wren │ │ │ ├── static_operators.wren │ │ │ ├── subscript_operators.wren │ │ │ ├── subscript_setter_too_many_arguments.wren │ │ │ ├── subscript_too_many_arguments.wren │ │ │ ├── too_many_arguments.wren │ │ │ └── too_many_parameters.wren │ │ ├── module/ │ │ │ ├── change_imported_value/ │ │ │ │ ├── change_imported_value.wren │ │ │ │ └── module.wren │ │ │ ├── compile_error/ │ │ │ │ ├── compile_error.wren │ │ │ │ └── module.wren │ │ │ ├── cyclic_import/ │ │ │ │ ├── a.wren │ │ │ │ ├── b.wren │ │ │ │ └── cyclic_import.wren │ │ │ ├── implicitly_imports_core/ │ │ │ │ ├── implicitly_imports_core.wren │ │ │ │ └── module.wren │ │ │ ├── import_as/ │ │ │ │ ├── import_as.wren │ │ │ │ └── module.wren │ │ │ ├── inside_block/ │ │ │ │ ├── inside_block.wren │ │ │ │ └── module.wren │ │ │ ├── missing_for.wren │ │ │ ├── missing_string_after_import.wren │ │ │ ├── module_dir/ │ │ │ │ ├── module_dir.wren │ │ │ │ └── something/ │ │ │ │ └── module.wren │ │ │ ├── multiple_variables/ │ │ │ │ ├── module.wren │ │ │ │ └── multiple_variables.wren │ │ │ ├── name_collision.wren │ │ │ ├── newlines/ │ │ │ │ ├── module.wren │ │ │ │ └── newlines.wren │ │ │ ├── no_variable/ │ │ │ │ ├── module.wren │ │ │ │ └── no_variable.wren │ │ │ ├── relative_import/ │ │ │ │ ├── module_3.wren │ │ │ │ ├── relative_import.wren │ │ │ │ └── sub/ │ │ │ │ ├── dir/ │ │ │ │ │ ├── module.wren │ │ │ │ │ └── module_2.wren │ │ │ │ ├── module.wren │ │ │ │ ├── module_2.wren │ │ │ │ └── module_3.wren │ │ │ ├── returns/ │ │ │ │ ├── module_return.wren │ │ │ │ ├── module_return_value.wren │ │ │ │ ├── return.wren │ │ │ │ ├── return_from_import.wren │ │ │ │ ├── return_value.wren │ │ │ │ └── return_value_from_import.wren │ │ │ ├── shared_import/ │ │ │ │ ├── a.wren │ │ │ │ ├── b.wren │ │ │ │ ├── shared.wren │ │ │ │ └── shared_import.wren │ │ │ ├── simple_import/ │ │ │ │ ├── module.wren │ │ │ │ └── simple_import.wren │ │ │ ├── unknown_module.wren │ │ │ └── unknown_variable/ │ │ │ ├── module.wren │ │ │ └── unknown_variable.wren │ │ ├── no_trailing_newline.wren │ │ ├── nonlocal/ │ │ │ ├── assignment.wren │ │ │ ├── duplicate_nonlocal.wren │ │ │ ├── in_block_scope.wren │ │ │ ├── localname_forward_declare.wren │ │ │ ├── mutual_recursion.wren │ │ │ ├── nonlocal_in_initializer.wren │ │ │ ├── nonlocal_without_initializer.wren │ │ │ ├── null_before_defined.wren │ │ │ ├── undefined.wren │ │ │ ├── use_in_function.wren │ │ │ ├── use_in_function_before_definition.wren │ │ │ ├── use_in_method.wren │ │ │ └── use_in_method_before_definition.wren │ │ ├── null/ │ │ │ └── literal.wren │ │ ├── number/ │ │ │ ├── hex_literals.wren │ │ │ ├── hex_too_large.wren │ │ │ ├── literal_too_large.wren │ │ │ ├── literals.wren │ │ │ ├── scientific_float_missing_exponent.wren │ │ │ ├── scientific_floating_exponent.wren │ │ │ ├── scientific_literals.wren │ │ │ ├── scientific_missing_exponent.wren │ │ │ ├── scientific_missing_fractional_part.wren │ │ │ ├── scientific_multiple_exponants.wren │ │ │ └── scientific_multiple_exponent_signs.wren │ │ ├── precedence.wren │ │ ├── return/ │ │ │ ├── after_else.wren │ │ │ ├── after_if.wren │ │ │ ├── after_while.wren │ │ │ ├── in_function.wren │ │ │ ├── in_method.wren │ │ │ └── return_null_if_newline.wren │ │ ├── semicolon.wren │ │ ├── setter/ │ │ │ ├── associativity.wren │ │ │ ├── grouping.wren │ │ │ ├── infix_operator.wren │ │ │ ├── instance.wren │ │ │ ├── is.wren │ │ │ ├── prefix_operator.wren │ │ │ ├── result.wren │ │ │ ├── same_name_as_method.wren │ │ │ └── static.wren │ │ ├── shebang/ │ │ │ ├── shebang.wren │ │ │ ├── shebang_at_eof.wren │ │ │ ├── shebang_at_other_line.wren │ │ │ └── shebang_invalid.wren │ │ ├── static_field/ │ │ │ ├── closure.wren │ │ │ ├── default_to_null.wren │ │ │ ├── in_instance_method.wren │ │ │ ├── multiple.wren │ │ │ ├── nested_class.wren │ │ │ ├── outside_class.wren │ │ │ └── use_before_set.wren │ │ ├── string/ │ │ │ ├── byte_escapes.wren │ │ │ ├── escapes.wren │ │ │ ├── incomplete_byte_escape.wren │ │ │ ├── incomplete_byte_escape_at_eof.wren │ │ │ ├── incomplete_long_unicode_escape.wren │ │ │ ├── incomplete_unicode_escape.wren │ │ │ ├── incomplete_unicode_escape_at_eof.wren │ │ │ ├── invalid_byte_escape.wren │ │ │ ├── invalid_escape.wren │ │ │ ├── invalid_unicode_escape.wren │ │ │ ├── literals.wren │ │ │ ├── unicode_escapes.wren │ │ │ ├── unicode_two_bytes_to_long_escape.wren │ │ │ ├── unterminated.wren │ │ │ └── unterminated_raw.wren │ │ ├── super/ │ │ │ ├── call_different_arity.wren │ │ │ ├── call_other_method.wren │ │ │ ├── call_same_method.wren │ │ │ ├── closure.wren │ │ │ ├── implicit_name.wren │ │ │ ├── indirectly_inherited.wren │ │ │ ├── no_superclass_method.wren │ │ │ ├── super_at_top_level.wren │ │ │ ├── super_in_closure_in_inherited_method.wren │ │ │ ├── super_in_inherited_method.wren │ │ │ ├── super_in_static_method.wren │ │ │ └── super_in_top_level_function.wren │ │ ├── this/ │ │ │ ├── closure.wren │ │ │ ├── nested_class.wren │ │ │ ├── nested_closure.wren │ │ │ ├── this_at_top_level.wren │ │ │ ├── this_in_method.wren │ │ │ ├── this_in_static_method.wren │ │ │ └── this_in_top_level_function.wren │ │ ├── unexpected_character.wren │ │ ├── variable/ │ │ │ ├── duplicate_local.wren │ │ │ ├── duplicate_parameter.wren │ │ │ ├── global_in_initializer.wren │ │ │ ├── global_without_initializer.wren │ │ │ ├── local_collide_with_function_parameter.wren │ │ │ ├── local_collide_with_method_parameter.wren │ │ │ ├── local_in_initializer.wren │ │ │ ├── local_in_middle_of_block.wren │ │ │ ├── local_in_nested_block.wren │ │ │ ├── local_outside_method.wren │ │ │ ├── local_without_initializer.wren │ │ │ ├── many_locals.wren │ │ │ ├── many_nonsimultaneous_locals.wren │ │ │ ├── newline_after_equals.wren │ │ │ ├── newline_after_var.wren │ │ │ ├── outside_method.wren │ │ │ ├── scope_if.wren │ │ │ ├── scope_reuse_in_different_blocks.wren │ │ │ ├── scope_while.wren │ │ │ ├── shadow_and_local.wren │ │ │ ├── shadow_global.wren │ │ │ ├── shadow_in_initializer.wren │ │ │ ├── shadow_local.wren │ │ │ ├── too_many_locals.wren │ │ │ ├── too_many_locals_nested.wren │ │ │ ├── undefined_global.wren │ │ │ ├── undefined_local.wren │ │ │ ├── use_false_as_var.wren │ │ │ ├── use_field_as_var.wren │ │ │ ├── use_null_as_var.wren │ │ │ ├── use_this_as_var.wren │ │ │ └── use_true_as_var.wren │ │ ├── while/ │ │ │ ├── closure_in_body.wren │ │ │ ├── newline_after_while.wren │ │ │ ├── return_closure.wren │ │ │ ├── return_inside.wren │ │ │ ├── syntax.wren │ │ │ └── truth.wren │ │ └── whitespace.wren │ ├── limit/ │ │ ├── interpolation_nesting.wren │ │ ├── jump_too_far.wren │ │ ├── long_function.wren │ │ ├── long_string.wren │ │ ├── long_variable_name.wren │ │ ├── loop_too_far.wren │ │ ├── many_constants.wren │ │ ├── many_fields.wren │ │ ├── many_globals.wren │ │ ├── many_inherited_fields.wren │ │ ├── reuse_constants.wren │ │ ├── too_many_constants.wren │ │ ├── too_many_fields.wren │ │ ├── too_many_function_parameters.wren │ │ ├── too_many_inherited_fields.wren │ │ ├── too_much_interpolation_nesting.wren │ │ └── variable_name_too_long.wren │ ├── main.c │ ├── meta/ │ │ ├── eval_compile_error.wren │ │ ├── eval_existing_scoped_variable.wren │ │ ├── eval_not_string.wren │ │ ├── get_module_variables.wren │ │ ├── get_module_variables_not_string.wren │ │ └── get_module_variables_unknown_module.wren │ ├── random/ │ │ ├── float.wren │ │ ├── float_max.wren │ │ ├── float_min_max.wren │ │ ├── int.wren │ │ ├── int_max.wren │ │ ├── int_min_max.wren │ │ ├── new.wren │ │ ├── new_empty_sequence.wren │ │ ├── new_number.wren │ │ ├── new_sequence.wren │ │ ├── new_wrong_arg_type.wren │ │ ├── new_wrong_element_type.wren │ │ ├── sample_count_multiple.wren │ │ ├── sample_count_one.wren │ │ ├── sample_count_too_many.wren │ │ ├── sample_count_zero.wren │ │ ├── sample_one.wren │ │ ├── sample_one_empty.wren │ │ └── shuffle.wren │ ├── regression/ │ │ ├── 428.wren │ │ ├── 429.wren │ │ ├── 442-000005.wren │ │ ├── 442-000007.wren │ │ ├── 442-000086.wren │ │ ├── 442-000088.wren │ │ ├── 442-000089.wren │ │ ├── 442-000100.wren │ │ ├── 442-000115.wren │ │ ├── 442-000166.wren │ │ ├── 442-000181.wren │ │ ├── 442-000182.wren │ │ ├── 442-000238.wren │ │ ├── 442-000295.wren │ │ ├── 442-000321.wren │ │ ├── 442-000348.wren │ │ ├── 442-000357.wren │ │ ├── 442-000440.wren │ │ ├── 442-000665.wren │ │ ├── 494.wren │ │ └── 561.wren │ ├── test.c │ ├── test.h │ └── unit/ │ ├── main.c │ ├── path_test.c │ ├── path_test.h │ ├── test.c │ └── test.h ├── try/ │ ├── main.try.c │ ├── make.emscripten/ │ │ ├── Makefile │ │ ├── wren.make │ │ └── wren_try.make │ └── readme.md └── util/ ├── benchmark.py ├── deploy_docs_from_travis.sh ├── generate_amalgamation.py ├── generate_docs.py ├── generate_projects.py ├── metrics.py ├── test.py └── wren_to_c_string.py