echo
Echo is a compiled language implemented in Rust. It uses a single LLVM backend and a Rust-owned runtime for both AOT native binaries and in-process JIT execution.
File Explorer
- config.toml
- pre-commit
- bug_report.md
- config.yml
- feature_request.md
- index.html
- README.md
- ci.yml
- pages-redirect.yml
- pr.yml
- CODEOWNERS
- pull_request_template.md
- README.md
- echo-icon-black-on-white-128.png
- echo-icon-black-on-white-256.png
- echo-icon-black-on-white-32.png
- echo-icon-black-on-white-512.png
- echo-icon-black-on-white-64.png
- echo-icon-white-on-black-128.png
- echo-icon-white-on-black-256.png
- echo-icon-white-on-black-32.png
- echo-icon-white-on-black-512.png
- echo-icon-white-on-black-64.png
- echo-mark-black-1200.png
- echo-mark-black-on-white-1200.png
- echo-mark-black-on-white-1680.png
- echo-mark-black-padded-1680.png
- echo-mark-white-1200.png
- echo-mark-white-on-black-1200.png
- echo-mark-white-on-black-1680.png
- echo-mark-white-padded-1680.png
- echo-mark.svg
- main.rs
- Cargo.toml
- lib.rs
- pretty.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- debug.rs
- elf.rs
- lib.rs
- metrics.rs
- opt.rs
- runtime_lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- analysis.rs
- document.rs
- features.rs
- lib.rs
- names.rs
- position.rs
- server.rs
- session.rs
- Cargo.toml
- cfg.rs
- escape.rs
- lib.rs
- lifetime.rs
- repr.rs
- simplify.rs
- ssa.rs
- value_class.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- grammar.rs
- lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- lib.rs
- merge.rs
- package_cache.rs
- resolve.rs
- virtual_fs.rs
- Cargo.toml
- fs.rs
- git.rs
- lib.rs
- net.rs
- poll.rs
- process.rs
- sched.rs
- scope.rs
- std_ext.rs
- std_more.rs
- store.rs
- task.rs
- test_suite.rs
- tls.rs
- Cargo.toml
- check.rs
- const_eval.rs
- effect.rs
- infer.rs
- lib.rs
- model.rs
- types.rs
- unify.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- bind.rs
- control.rs
- mod.rs
- module.rs
- shape.rs
- escapes.rs
- lib.rs
- tree_sitter.rs
- Cargo.toml
- lib.rs
- run.rs
- build.rs
- Cargo.toml
- main.rs
- repl.rs
- repl_forms.rs
- build.rs
- Cargo.toml
- 0001-shared-compiler-pipeline.md
- 0002-llvm-only-execution-backend.md
- 0003-ast-is-source-shaped.md
- 0004-rust-runtime-owns-executable-semantics.md
- 0005-structured-diagnostics-contract.md
- 0006-closed-compilation-graph.md
- 0007-docs-vs-www-ownership.md
- 0008-standalone-language-not-php-superset.md
- 0009-full-vertical-slices.md
- 0010-platform-baseline.md
- 0011-chumsky-parser.md
- 0012-analysis-product-pipeline.md
- 0013-tasks-event-loop-leaders.md
- 0014-modules-packages-paths.md
- 0015-echo-2026-canonical-edition.md
- 0016-scope-owned-memory.md
- 0017-tls-design-only.md
- 0018-static-aot-scratch-oci.md
- README.md
- architecture.md
- ci.md
- development-speed.md
- diagnostics.md
- fixtures.md
- glossary.md
- hir.md
- implementation.md
- incremental.md
- install.md
- lexer.md
- llvm.md
- lsp.md
- memory.md
- mir.md
- modules.md
- parser.md
- pipeline.md
- README.md
- reflection.md
- repl.md
- roadmap.md
- runtime-abi.md
- semantics.md
- sota-gaps.md
- stdlib-go-gaps.md
- stdlib.md
- syntax.md
- testing.md
- tree-sitter.md
- 001_shadow.ast
- 001_shadow.check
- 001_shadow.echo
- 001_shadow.lex
- 002_tilde_update.ast
- 002_tilde_update.echo
- 002_tilde_update.lex
- 003_immutable_assign.ast
- 003_immutable_assign.check
- 003_immutable_assign.echo
- 003_immutable_assign.lex
- 004_use_before_bind.ast
- 004_use_before_bind.check
- 004_use_before_bind.echo
- 004_use_before_bind.lex
- 005_use_before_bind_fn.ast
- 005_use_before_bind_fn.check
- 005_use_before_bind_fn.echo
- 005_use_before_bind_fn.lex
- 006_bind_then_use.ast
- 006_bind_then_use.echo
- 006_bind_then_use.lex
- 001_outer_bind.ast
- 001_outer_bind.check
- 001_outer_bind.echo
- 001_outer_bind.lex
- 002_nested_no_outer.ast
- 002_nested_no_outer.check
- 002_nested_no_outer.echo
- 002_nested_no_outer.lex
- 003_nested_param_call.ast
- 003_nested_param_call.check
- 003_nested_param_call.echo
- 003_nested_param_call.lex
- 004_nested_param_value.ast
- 004_nested_param_value.check
- 004_nested_param_value.echo
- 004_nested_param_value.lex
- 001_break_ok.ast
- 001_break_ok.echo
- 001_break_ok.lex
- 001_unhandled_outside.ast
- 001_unhandled_outside.check
- 001_unhandled_outside.echo
- 001_unhandled_outside.lex
- 002_handled_inside.ast
- 002_handled_inside.echo
- 002_handled_inside.lex
- 001_mix_kinds.ast
- 001_mix_kinds.check
- 001_mix_kinds.echo
- 001_mix_kinds.lex
- 001_bad_name.ast
- 001_bad_name.check
- 001_bad_name.echo
- 001_bad_name.lex
- 002_ok.ast
- 002_ok.echo
- 002_ok.lex
- 003_const_call.ast
- 003_const_call.check
- 003_const_call.echo
- 003_const_call.lex
- 004_const_runtime.ast
- 004_const_runtime.check
- 004_const_runtime.echo
- 004_const_runtime.lex
- 005_const_chain.ast
- 005_const_chain.echo
- 005_const_chain.lex
- 006_const_duration_mix.ast
- 006_const_duration_mix.check
- 006_const_duration_mix.echo
- 006_const_duration_mix.lex
- 007_const_range_mix.ast
- 007_const_range_mix.check
- 007_const_range_mix.echo
- 007_const_range_mix.lex
- 008_const_struct_call.ast
- 008_const_struct_call.check
- 008_const_struct_call.echo
- 008_const_struct_call.lex
- 009_const_index_oob.ast
- 009_const_index_oob.check
- 009_const_index_oob.echo
- 009_const_index_oob.lex
- 010_const_no_field.ast
- 010_const_no_field.check
- 010_const_no_field.echo
- 010_const_no_field.lex
- 009_arity.ast
- 009_arity.check
- 009_arity.echo
- 009_arity.lex
- 010_imported_arity.ast
- 010_imported_arity.check
- 010_imported_arity.echo
- 010_imported_arity.lex
- 011_zero_arg.ast
- 011_zero_arg.check
- 011_zero_arg.echo
- 011_zero_arg.lex
- 012_imported_mixed.ast
- 012_imported_mixed.echo
- 012_imported_mixed.lex
- 013_imported_ret.ast
- 013_imported_ret.check
- 013_imported_ret.echo
- 013_imported_ret.lex
- 014_imported_ret_ok.ast
- 014_imported_ret_ok.echo
- 014_imported_ret_ok.lex
- 015_duration_int.ast
- 015_duration_int.check
- 015_duration_int.echo
- 015_duration_int.lex
- 016_locator_int.ast
- 016_locator_int.check
- 016_locator_int.echo
- 016_locator_int.lex
- 017_no_field_int.ast
- 017_no_field_int.check
- 017_no_field_int.echo
- 017_no_field_int.lex
- 018_bitwise_float.ast
- 018_bitwise_float.check
- 018_bitwise_float.echo
- 018_bitwise_float.lex
- 001_unknown_type.ast
- 001_unknown_type.check
- 001_unknown_type.echo
- 001_unknown_type.lex
- 002_result_incomplete.ast
- 002_result_incomplete.check
- 002_result_incomplete.echo
- 002_result_incomplete.lex
- 003_result_mix.ast
- 003_result_mix.check
- 003_result_mix.echo
- 003_result_mix.lex
- 004_empty.ast
- 004_empty.check
- 004_empty.echo
- 004_empty.lex
- 005_option_incomplete.ast
- 005_option_incomplete.check
- 005_option_incomplete.echo
- 005_option_incomplete.lex
- 006_option_mix.ast
- 006_option_mix.check
- 006_option_mix.echo
- 006_option_mix.lex
- 007_result_colon.ast
- 007_result_colon.check
- 007_result_colon.echo
- 007_result_colon.lex
- 008_option_bang.ast
- 008_option_bang.check
- 008_option_bang.echo
- 008_option_bang.lex
- 001_free_fn.ast
- 001_free_fn.check
- 001_free_fn.echo
- 001_free_fn.lex
- 002_method_ok.ast
- 002_method_ok.echo
- 002_method_ok.lex
- 003_method_value.ast
- 003_method_value.check
- 003_method_value.echo
- 003_method_value.lex
- 001_top_bang.ast
- 001_top_bang.check
- 001_top_bang.echo
- 001_top_bang.lex
- 002_bang_in_if.ast
- 002_bang_in_if.check
- 002_bang_in_if.echo
- 002_bang_in_if.lex
- 001_forbidden.ast
- 001_forbidden.check
- 001_forbidden.echo
- 001_forbidden.lex
- 001_missing_field.ast
- 001_missing_field.check
- 001_missing_field.echo
- 001_missing_field.lex
- 002_unknown_field.ast
- 002_unknown_field.check
- 002_unknown_field.echo
- 002_unknown_field.lex
- 003_method_field.ast
- 003_method_field.check
- 003_method_field.echo
- 003_method_field.lex
- 004_dup_field.ast
- 004_dup_field.check
- 004_dup_field.echo
- 004_dup_field.lex
- 001_capture_unbound.ast
- 001_capture_unbound.check
- 001_capture_unbound.echo
- 001_capture_unbound.lex
- 002_capture_arity.ast
- 002_capture_arity.check
- 002_capture_arity.echo
- 002_capture_arity.lex
- 001_unary_tag.ast
- 001_unary_tag.check
- 001_unary_tag.echo
- 001_unary_tag.lex
- 002_unknown_tag.ast
- 002_unknown_tag.check
- 002_unknown_tag.echo
- 002_unknown_tag.lex
- 003_cast_non_numeric.ast
- 003_cast_non_numeric.check
- 003_cast_non_numeric.echo
- 003_cast_non_numeric.lex
- 001_unhandled.ast
- 001_unhandled.check
- 001_unhandled.echo
- 001_unhandled.lex
- 002_match.ast
- 002_match.echo
- 002_match.lex
- 001_unhandled.ast
- 001_unhandled.check
- 001_unhandled.echo
- 001_unhandled.lex
- 002_match.ast
- 002_match.echo
- 002_match.lex
- 001_int_add.ast
- 001_int_add.echo
- 001_int_add.lex
- 002_int_float_mix.ast
- 002_int_float_mix.check
- 002_int_float_mix.echo
- 002_int_float_mix.lex
- 003_bool_cond.ast
- 003_bool_cond.check
- 003_bool_cond.echo
- 003_bool_cond.lex
- 004_not_callable.ast
- 004_not_callable.check
- 004_not_callable.echo
- 004_not_callable.lex
- 005_list_elem.ast
- 005_list_elem.echo
- 005_list_elem.lex
- 006_list_mix.ast
- 006_list_mix.check
- 006_list_mix.echo
- 006_list_mix.lex
- 007_list_count_no_poison.ast
- 007_list_count_no_poison.echo
- 007_list_count_no_poison.lex
- 008_value_ordering.ast
- 008_value_ordering.check
- 008_value_ordering.echo
- 008_value_ordering.lex
- 001_dollar.ast
- 001_dollar.echo
- 001_dollar.lex
- 002_tilde.ast
- 002_tilde.echo
- 002_tilde.lex
- 003_hash.ast
- 003_hash.echo
- 003_hash.lex
- 004_missing_ws.ast
- 004_missing_ws.diag
- 004_missing_ws.echo
- 004_missing_ws.lex
- 001_if.ast
- 001_if.check
- 001_if.echo
- 001_if.lex
- 002_else.ast
- 002_else.check
- 002_else.echo
- 002_else.lex
- 003_panic.ast
- 003_panic.echo
- 003_panic.lex
- 004_return.ast
- 004_return.echo
- 004_return.lex
- 005_loop.ast
- 005_loop.echo
- 005_loop.lex
- 006_break.ast
- 006_break.check
- 006_break.echo
- 006_break.lex
- 007_continue.ast
- 007_continue.check
- 007_continue.echo
- 007_continue.lex
- 008_match.ast
- 008_match.check
- 008_match.echo
- 008_match.lex
- 009_dual_star.ast
- 009_dual_star.echo
- 009_dual_star.lex
- 001_forms.ast
- 001_forms.echo
- 001_forms.lex
- 001_import.ast
- 001_import.echo
- 001_import.lex
- 002_export.ast
- 002_export.check
- 002_export.echo
- 002_export.lex
- 003_dual_slash.ast
- 003_dual_slash.echo
- 003_dual_slash.lex
- 001_percent.ast
- 001_percent.echo
- 001_percent.lex
- 002_at.ast
- 002_at.check
- 002_at.echo
- 002_at.lex
- 001_at_expr.ast
- 001_at_expr.diag
- 001_at_expr.echo
- 001_at_expr.lex
- 001_unterminated_pure.ast
- 001_unterminated_pure.diag
- 001_unterminated_pure.echo
- 001_unterminated_pure.lex
- 002_unterminated_rich.ast
- 002_unterminated_rich.diag
- 002_unterminated_rich.echo
- 002_unterminated_rich.lex
- 001_backtick.ast
- 001_backtick.diag
- 001_backtick.echo
- 001_backtick.lex
- 001_pure.ast
- 001_pure.echo
- 001_pure.lex
- 002_rich.ast
- 002_rich.echo
- 002_rich.lex
- 003_rich_escape.ast
- 003_rich_escape.echo
- 003_rich_escape.lex
- 004_bad_escape.ast
- 004_bad_escape.diag
- 004_bad_escape.echo
- 004_bad_escape.lex
- 005_bad_hex.ast
- 005_bad_hex.diag
- 005_bad_hex.echo
- 005_bad_hex.lex
- 006_bytes_bad_escape.ast
- 006_bytes_bad_escape.diag
- 006_bytes_bad_escape.echo
- 006_bytes_bad_escape.lex
- 001_width.ast
- 001_width.echo
- 001_width.lex
- 002_width_mix.ast
- 002_width_mix.check
- 002_width_mix.echo
- 002_width_mix.lex
- 003_duration.ast
- 003_duration.echo
- 003_duration.lex
- 004_bytes.ast
- 004_bytes.echo
- 004_bytes.lex
- 005_locator.ast
- 005_locator.echo
- 005_locator.lex
- 006_duration_add.ast
- 006_duration_add.echo
- 006_duration_add.lex
- 001_entry.ast
- 001_entry.check
- 001_entry.echo
- 001_entry.lex
- ops.echo
- user.echo
- 001_entry.ast
- 001_entry.check
- 001_entry.echo
- 001_entry.lex
- again.echo
- user.echo
- 001_entry.ast
- 001_entry.check
- 001_entry.echo
- 001_entry.lex
- lib.echo
- add.echo
- mul.echo
- 001_entry.ast
- 001_entry.echo
- 001_entry.lex
- 001_entry.run
- 001_entry.runexit
- util.echo
- util.echo
- 001_entry.ast
- 001_entry.check
- 001_entry.echo
- 001_entry.lex
- 001_entry.ast
- 001_entry.check
- 001_entry.echo
- 001_entry.lex
- a.echo
- b.echo
- 001_entry.ast
- 001_entry.check
- 001_entry.echo
- 001_entry.lex
- lib.echo
- 001_entry.ast
- 001_entry.echo
- 001_entry.lex
- lib.echo
- 001_entry.ast
- 001_entry.echo
- 001_entry.lex
- user.echo
- user_extra.echo
- 001_entry.ast
- 001_entry.check
- 001_entry.echo
- 001_entry.lex
- lib.echo
- 001_entry.ast
- 001_entry.check
- 001_entry.echo
- 001_entry.lex
- ops.echo
- 001_entry.ast
- 001_entry.echo
- 001_entry.lex
- a.echo
- b.echo
- 001_no_init.ast
- 001_no_init.echo
- 001_no_init.lex
- 002_hash_string.ast
- 002_hash_string.echo
- 002_hash_string.lex
- 001_else_if.ast
- 001_else_if.check
- 001_else_if.echo
- 001_else_if.lex
- 002_while.ast
- 002_while.check
- 002_while.echo
- 002_while.lex
- 003_for.ast
- 003_for.check
- 003_for.echo
- 003_for.lex
- 004_bare_return.ast
- 004_bare_return.echo
- 004_bare_return.lex
- 001_call.ast
- 001_call.check
- 001_call.echo
- 001_call.lex
- 002_binary.ast
- 002_binary.echo
- 002_binary.lex
- 003_compare_logic.ast
- 003_compare_logic.check
- 003_compare_logic.echo
- 003_compare_logic.lex
- 004_fn.ast
- 004_fn.echo
- 004_fn.lex
- 005_receiver.ast
- 005_receiver.echo
- 005_receiver.lex
- 006_struct_lit.ast
- 006_struct_lit.echo
- 006_struct_lit.lex
- 007_list.ast
- 007_list.echo
- 007_list.lex
- 008_field_call.ast
- 008_field_call.check
- 008_field_call.echo
- 008_field_call.lex
- 009_index.ast
- 009_index.check
- 009_index.echo
- 009_index.lex
- 010_group_unary.ast
- 010_group_unary.echo
- 010_group_unary.lex
- 011_index_assign.ast
- 011_index_assign.check
- 011_index_assign.echo
- 011_index_assign.lex
- 012_field_assign.ast
- 012_field_assign.check
- 012_field_assign.echo
- 012_field_assign.lex
- 001_trailing_comma.ast
- 001_trailing_comma.echo
- 001_trailing_comma.lex
- 001_relative.ast
- 001_relative.check
- 001_relative.echo
- 001_relative.lex
- 002_multi_export.ast
- 002_multi_export.check
- 002_multi_export.echo
- 002_multi_export.lex
- 001_method_call_stmt.ast
- 001_method_call_stmt.check
- 001_method_call_stmt.echo
- 001_method_call_stmt.lex
- 001_main_zero.ast
- 001_main_zero.echo
- 001_main_zero.lex
- 001_main_zero.run
- 001_main_zero.runexit
- 002_add.ast
- 002_add.echo
- 002_add.lex
- 002_add.run
- 002_add.runexit
- 003_hex_bin.ast
- 003_hex_bin.echo
- 003_hex_bin.lex
- 003_hex_bin.run
- 003_hex_bin.runexit
- 004_ops.ast
- 004_ops.echo
- 004_ops.lex
- 004_ops.run
- 004_ops.runexit
- 001_multi.ast
- 001_multi.echo
- 001_multi.lex
- 001_multi.run
- 001_multi.runexit
- 002_hash_multi.ast
- 002_hash_multi.echo
- 002_hash_multi.lex
- 002_hash_multi.run
- 002_hash_multi.runexit
- 003_multi.ast
- 003_multi.echo
- 003_multi.lex
- 003_multi.run
- 003_multi.runexit
- 001_and_or_xor.ast
- 001_and_or_xor.echo
- 001_and_or_xor.lex
- 001_and_or_xor.run
- 001_and_or_xor.runexit
- 002_shift.ast
- 002_shift.echo
- 002_shift.lex
- 002_shift.run
- 002_shift.runexit
- 003_not.ast
- 003_not.echo
- 003_not.lex
- 003_not.run
- 003_not.runexit
- 001_lines.ast
- 001_lines.echo
- 001_lines.lex
- 001_lines.run
- 001_lines.runexit
- 002_read_fail.ast
- 002_read_fail.echo
- 002_read_fail.lex
- 002_read_fail.run
- 002_read_fail.runexit
- 003_read_file.ast
- 003_read_file.echo
- 003_read_file.lex
- 003_read_file.run
- 003_read_file.runexit
- 001_len_get.ast
- 001_len_get.echo
- 001_len_get.lex
- 001_len_get.run
- 001_len_get.runexit
- 001_lit.ast
- 001_lit.echo
- 001_lit.lex
- 001_lit.run
- 001_lit.runexit
- 002_cat.ast
- 002_cat.echo
- 002_cat.lex
- 002_cat.run
- 002_cat.runexit
- 003_interp.ast
- 003_interp.echo
- 003_interp.lex
- 003_interp.run
- 003_interp.runexit
- 004_recv_field.ast
- 004_recv_field.echo
- 004_recv_field.lex
- 004_recv_field.run
- 004_recv_field.runexit
- 005_bad_path.ast
- 005_bad_path.echo
- 005_bad_path.lex
- 005_bad_path.runexit
- 006_contains.ast
- 006_contains.echo
- 006_contains.lex
- 006_contains.run
- 006_contains.runexit
- 007_from_int.ast
- 007_from_int.echo
- 007_from_int.lex
- 007_from_int.run
- 007_from_int.runexit
- 008_from_str.ast
- 008_from_str.echo
- 008_from_str.lex
- 008_from_str.run
- 008_from_str.runexit
- 009_slice.ast
- 009_slice.echo
- 009_slice.lex
- 009_slice.run
- 009_slice.runexit
- 001_flags.ast
- 001_flags.echo
- 001_flags.lex
- 001_flags.run
- 001_flags.runexit
- 001_gzip.ast
- 001_gzip.echo
- 001_gzip.lex
- 001_gzip.run
- 001_gzip.runexit
- 002_zip.ast
- 002_zip.echo
- 002_zip.lex
- 002_zip.run
- 002_zip.runexit
- 001_if.ast
- 001_if.echo
- 001_if.lex
- 001_if.run
- 001_if.runexit
- 002_else_if.ast
- 002_else_if.echo
- 002_else_if.lex
- 002_else_if.run
- 002_else_if.runexit
- 001_surface.ast
- 001_surface.echo
- 001_surface.lex
- 001_surface.run
- 001_surface.runexit
- 001_sip_empty.ast
- 001_sip_empty.echo
- 001_sip_empty.lex
- 001_sip_empty.run
- 001_sip_empty.runexit
- 002_sha256_empty.ast
- 002_sha256_empty.echo
- 002_sha256_empty.lex
- 002_sha256_empty.run
- 002_sha256_empty.runexit
- 003_sha512_empty.ast
- 003_sha512_empty.echo
- 003_sha512_empty.lex
- 003_sha512_empty.run
- 003_sha512_empty.runexit
- 004_aes_gcm.ast
- 004_aes_gcm.echo
- 004_aes_gcm.lex
- 004_aes_gcm.run
- 004_aes_gcm.runexit
- 005_csprng_len.ast
- 005_csprng_len.echo
- 005_csprng_len.lex
- 005_csprng_len.run
- 005_csprng_len.runexit
- 001_split.ast
- 001_split.echo
- 001_split.lex
- 001_split.run
- 001_split.runexit
- 002_format.ast
- 002_format.echo
- 002_format.lex
- 002_format.run
- 002_format.runexit
- 003_parse.ast
- 003_parse.echo
- 003_parse.lex
- 003_parse.run
- 003_parse.runexit
- 001_localhost.ast
- 001_localhost.echo
- 001_localhost.lex
- 001_localhost.run
- 001_localhost.runexit
- 001_lit.ast
- 001_lit.echo
- 001_lit.lex
- 001_lit.run
- 001_lit.runexit
- 002_add.ast
- 002_add.echo
- 002_add.lex
- 002_add.run
- 002_add.runexit
- 001_ok_bind.ast
- 001_ok_bind.echo
- 001_ok_bind.lex
- 001_ok_bind.run
- 001_ok_bind.runexit
- 002_err_bind.ast
- 002_err_bind.echo
- 002_err_bind.lex
- 002_err_bind.run
- 002_err_bind.runexit
- 003_bare_err.ast
- 003_bare_err.echo
- 003_bare_err.lex
- 003_bare_err.run
- 003_bare_err.runexit
- 004_plain.ast
- 004_plain.echo
- 004_plain.lex
- 004_plain.run
- 004_plain.runexit
- 005_option_none.ast
- 005_option_none.echo
- 005_option_none.lex
- 005_option_none.run
- 005_option_none.runexit
- 006_call_through.ast
- 006_call_through.echo
- 006_call_through.lex
- 006_call_through.run
- 006_call_through.runexit
- 001_hex.ast
- 001_hex.echo
- 001_hex.lex
- 001_hex.run
- 001_hex.runexit
- 002_base64.ast
- 002_base64.echo
- 002_base64.lex
- 002_base64.run
- 002_base64.runexit
- 003_utf8.ast
- 003_utf8.echo
- 003_utf8.lex
- 003_utf8.run
- 003_utf8.runexit
- 001_deep_id.ast
- 001_deep_id.echo
- 001_deep_id.lex
- 001_deep_id.run
- 001_deep_id.runexit
- 001_arith.ast
- 001_arith.echo
- 001_arith.lex
- 001_arith.run
- 001_arith.runexit
- 002_ops.ast
- 002_ops.echo
- 002_ops.lex
- 002_ops.run
- 002_ops.runexit
- 001_nested.ast
- 001_nested.echo
- 001_nested.lex
- 001_nested.run
- 001_nested.runexit
- 002_nested_in_method.ast
- 002_nested_in_method.echo
- 002_nested_in_method.lex
- 002_nested_in_method.run
- 002_nested_in_method.runexit
- 003_first_class.ast
- 003_first_class.echo
- 003_first_class.lex
- 003_first_class.run
- 003_first_class.runexit
- 004_rebind_call.ast
- 004_rebind_call.echo
- 004_rebind_call.lex
- 004_rebind_call.run
- 004_rebind_call.runexit
- 005_return_fn.ast
- 005_return_fn.echo
- 005_return_fn.lex
- 005_return_fn.run
- 005_return_fn.runexit
- 006_field_fn.ast
- 006_field_fn.echo
- 006_field_fn.lex
- 006_field_fn.run
- 006_field_fn.runexit
- 007_anon_field_fn.ast
- 007_anon_field_fn.echo
- 007_anon_field_fn.lex
- 007_anon_field_fn.run
- 007_anon_field_fn.runexit
- 008_result_value.ast
- 008_result_value.echo
- 008_result_value.lex
- 008_result_value.run
- 008_result_value.runexit
- 009_result_param.ast
- 009_result_param.echo
- 009_result_param.lex
- 009_result_param.run
- 009_result_param.runexit
- 010_option_value.ast
- 010_option_value.echo
- 010_option_value.lex
- 010_option_value.run
- 010_option_value.runexit
- 011_outer_fn_nested.ast
- 011_outer_fn_nested.echo
- 011_outer_fn_nested.lex
- 011_outer_fn_nested.run
- 011_outer_fn_nested.runexit
- 012_multi_arg_hof.ast
- 012_multi_arg_hof.echo
- 012_multi_arg_hof.lex
- 012_multi_arg_hof.run
- 012_multi_arg_hof.runexit
- 013_list_fn_values.ast
- 013_list_fn_values.echo
- 013_list_fn_values.lex
- 013_list_fn_values.run
- 013_list_fn_values.runexit
- 001_write_read.ast
- 001_write_read.echo
- 001_write_read.lex
- 001_write_read.run
- 001_write_read.runexit
- 002_whole_file_rename.ast
- 002_whole_file_rename.echo
- 002_whole_file_rename.lex
- 002_whole_file_rename.run
- 002_whole_file_rename.runexit
- 003_chmod.ast
- 003_chmod.echo
- 003_chmod.lex
- 003_chmod.run
- 003_chmod.runexit
- 004_chmod_fail.ast
- 004_chmod_fail.echo
- 004_chmod_fail.lex
- 004_chmod_fail.run
- 004_chmod_fail.runexit
- 005_symlink.ast
- 005_symlink.echo
- 005_symlink.lex
- 005_symlink.run
- 005_symlink.runexit
- 006_symlink_fail.ast
- 006_symlink_fail.echo
- 006_symlink_fail.lex
- 006_symlink_fail.run
- 006_symlink_fail.runexit
- 007_create_temp.ast
- 007_create_temp.echo
- 007_create_temp.lex
- 007_create_temp.run
- 007_create_temp.runexit
- 008_append_seek.ast
- 008_append_seek.echo
- 008_append_seek.lex
- 008_append_seek.run
- 008_append_seek.runexit
- 001_use_const.ast
- 001_use_const.echo
- 001_use_const.lex
- 001_use_const.run
- 001_use_const.runexit
- 002_fn_value.ast
- 002_fn_value.echo
- 002_fn_value.lex
- 002_fn_value.run
- 002_fn_value.runexit
- 003_duration.ast
- 003_duration.echo
- 003_duration.lex
- 003_duration.run
- 003_duration.runexit
- 004_bytes.ast
- 004_bytes.echo
- 004_bytes.lex
- 004_bytes.run
- 004_bytes.runexit
- 005_locator.ast
- 005_locator.echo
- 005_locator.lex
- 005_locator.run
- 005_locator.runexit
- 006_list.ast
- 006_list.echo
- 006_list.lex
- 006_list.run
- 006_list.runexit
- 007_range.ast
- 007_range.echo
- 007_range.lex
- 007_range.run
- 007_range.runexit
- 008_struct.ast
- 008_struct.echo
- 008_struct.lex
- 008_struct.run
- 008_struct.runexit
- 009_anon.ast
- 009_anon.echo
- 009_anon.lex
- 009_anon.run
- 009_anon.runexit
- 010_index.ast
- 010_index.echo
- 010_index.lex
- 010_index.run
- 010_index.runexit
- 011_field.ast
- 011_field.echo
- 011_field.lex
- 011_field.run
- 011_field.runexit
- 012_default_field.ast
- 012_default_field.echo
- 012_default_field.lex
- 012_default_field.run
- 012_default_field.runexit
- 001_crud.ast
- 001_crud.echo
- 001_crud.lex
- 001_crud.run
- 001_crud.runexit
- 002_mixed.ast
- 002_mixed.echo
- 002_mixed.lex
- 002_mixed.run
- 002_mixed.runexit
- 001_len.ast
- 001_len.echo
- 001_len.lex
- 001_len.run
- 001_len.runexit
- 002_jefe.ast
- 002_jefe.echo
- 002_jefe.lex
- 002_jefe.run
- 002_jefe.runexit
- 001_parse.ast
- 001_parse.echo
- 001_parse.lex
- 001_parse.run
- 001_parse.runexit
- 002_post.ast
- 002_post.echo
- 002_post.lex
- 002_post.run
- 002_post.runexit
- 003_headers.ast
- 003_headers.echo
- 003_headers.lex
- 003_headers.run
- 003_headers.runexit
- 004_handle_connection.ast
- 004_handle_connection.echo
- 004_handle_connection.lex
- 004_handle_connection.run
- 004_handle_connection.runexit
- 005_empty_peer.ast
- 005_empty_peer.echo
- 005_empty_peer.lex
- 005_empty_peer.run
- 005_empty_peer.runexit
- 006_body_content_length.ast
- 006_body_content_length.echo
- 006_body_content_length.lex
- 006_body_content_length.run
- 006_body_content_length.runexit
- 007_utf8_split_chunks.ast
- 007_utf8_split_chunks.echo
- 007_utf8_split_chunks.lex
- 007_utf8_split_chunks.run
- 007_utf8_split_chunks.runexit
- 008_many_headers.ast
- 008_many_headers.echo
- 008_many_headers.lex
- 008_many_headers.run
- 008_many_headers.runexit
- 009_chunked_head.ast
- 009_chunked_head.echo
- 009_chunked_head.lex
- 009_chunked_head.run
- 009_chunked_head.runexit
- 010_stream_chunked.ast
- 010_stream_chunked.echo
- 010_stream_chunked.lex
- 010_stream_chunked.run
- 010_stream_chunked.runexit
- 001_localhost_get.ast
- 001_localhost_get.echo
- 001_localhost_get.lex
- 001_localhost_get.run
- 001_localhost_get.runexit
- 001_empty.ast
- 001_empty.echo
- 001_empty.lex
- 001_empty.run
- 001_empty.runexit
- 002_ping.ast
- 002_ping.echo
- 002_ping.lex
- 002_ping.run
- 002_ping.runexit
- 002_ping.stdin
- 001_parse.ast
- 001_parse.echo
- 001_parse.lex
- 001_parse.run
- 001_parse.runexit
- 002_task_stringify.ast
- 002_task_stringify.echo
- 002_task_stringify.lex
- 002_task_stringify.run
- 002_task_stringify.runexit
- 001_block_local.ast
- 001_block_local.echo
- 001_block_local.lex
- 001_block_local.run
- 001_block_local.runexit
- 002_promote_assign.ast
- 002_promote_assign.check
- 002_promote_assign.echo
- 002_promote_assign.lex
- 002_promote_assign.run
- 002_promote_assign.runexit
- 003_if_exit.ast
- 003_if_exit.check
- 003_if_exit.echo
- 003_if_exit.lex
- 003_if_exit.run
- 003_if_exit.runexit
- 004_break_cleanup.ast
- 004_break_cleanup.echo
- 004_break_cleanup.lex
- 004_break_cleanup.run
- 004_break_cleanup.runexit
- 005_promote_list.ast
- 005_promote_list.echo
- 005_promote_list.lex
- 005_promote_list.run
- 005_promote_list.runexit
- 006_alias_after_scope.ast
- 006_alias_after_scope.echo
- 006_alias_after_scope.lex
- 006_alias_after_scope.run
- 006_alias_after_scope.runexit
- 007_mid_scope_promote.ast
- 007_mid_scope_promote.echo
- 007_mid_scope_promote.lex
- 007_mid_scope_promote.run
- 007_mid_scope_promote.runexit
- 008_listlit_nest.ast
- 008_listlit_nest.echo
- 008_listlit_nest.lex
- 008_listlit_nest.run
- 008_listlit_nest.runexit
- 009_in_body_nest.ast
- 009_in_body_nest.echo
- 009_in_body_nest.lex
- 009_in_body_nest.run
- 009_in_body_nest.runexit
- 010_graph_return_child.ast
- 010_graph_return_child.echo
- 010_graph_return_child.lex
- 010_graph_return_child.run
- 010_graph_return_child.runexit
- 011_graph_struct_child.ast
- 011_graph_struct_child.echo
- 011_graph_struct_child.lex
- 011_graph_struct_child.run
- 011_graph_struct_child.runexit
- 012_graph_shared_outer.ast
- 012_graph_shared_outer.echo
- 012_graph_shared_outer.lex
- 012_graph_shared_outer.run
- 012_graph_shared_outer.runexit
- 013_file_scope.ast
- 013_file_scope.echo
- 013_file_scope.lex
- 013_file_scope.run
- 013_file_scope.runexit
- 001_index_assign.ast
- 001_index_assign.echo
- 001_index_assign.lex
- 001_index_assign.run
- 001_index_assign.runexit
- 002_field_index_assign.ast
- 002_field_index_assign.echo
- 002_field_index_assign.lex
- 002_field_index_assign.run
- 002_field_index_assign.runexit
- 003_push.ast
- 003_push.echo
- 003_push.lex
- 003_push.run
- 003_push.runexit
- 004_field_push.ast
- 004_field_push.echo
- 004_field_push.lex
- 004_field_push.run
- 004_field_push.runexit
- 005_len.ast
- 005_len.echo
- 005_len.lex
- 005_len.run
- 005_len.runexit
- 006_empty.ast
- 006_empty.echo
- 006_empty.lex
- 006_empty.run
- 006_empty.runexit
- 007_map.ast
- 007_map.echo
- 007_map.lex
- 007_map.run
- 007_map.runexit
- 008_filter.ast
- 008_filter.echo
- 008_filter.lex
- 008_filter.run
- 008_filter.runexit
- 009_fold.ast
- 009_fold.echo
- 009_fold.lex
- 009_fold.run
- 009_fold.runexit
- 010_sum.ast
- 010_sum.echo
- 010_sum.lex
- 010_sum.run
- 010_sum.runexit
- 011_sort.ast
- 011_sort.echo
- 011_sort.lex
- 011_sort.run
- 011_sort.runexit
- 012_contains.ast
- 012_contains.echo
- 012_contains.lex
- 012_contains.run
- 012_contains.runexit
- 001_lit.ast
- 001_lit.echo
- 001_lit.lex
- 001_lit.run
- 001_lit.runexit
- 002_class.ast
- 002_class.echo
- 002_class.lex
- 002_class.run
- 002_class.runexit
- 003_class_edges.ast
- 003_class_edges.echo
- 003_class_edges.lex
- 003_class_edges.run
- 003_class_edges.runexit
- 004_interp.ast
- 004_interp.echo
- 004_interp.lex
- 004_interp.run
- 004_interp.runexit
- 005_recv_field.ast
- 005_recv_field.echo
- 005_recv_field.lex
- 005_recv_field.run
- 005_recv_field.runexit
- 006_bad_path.ast
- 006_bad_path.echo
- 006_bad_path.lex
- 006_bad_path.runexit
- 001_level.ast
- 001_level.echo
- 001_level.lex
- 001_level.run
- 001_level.runexit
- 002_kv.ast
- 002_kv.echo
- 002_kv.lex
- 002_kv.run
- 002_kv.runexit
- 001_while_count.ast
- 001_while_count.echo
- 001_while_count.lex
- 001_while_count.run
- 001_while_count.runexit
- 002_break.ast
- 002_break.echo
- 002_break.lex
- 002_break.run
- 002_break.runexit
- 003_continue.ast
- 003_continue.echo
- 003_continue.lex
- 003_continue.run
- 003_continue.runexit
- 004_for_list.ast
- 004_for_list.echo
- 004_for_list.lex
- 004_for_list.run
- 004_for_list.runexit
- 005_for_break.ast
- 005_for_break.echo
- 005_for_break.lex
- 005_for_break.run
- 005_for_break.runexit
- 006_for_name.ast
- 006_for_name.echo
- 006_for_name.lex
- 006_for_name.run
- 006_for_name.runexit
- 007_index.ast
- 007_index.echo
- 007_index.lex
- 007_index.run
- 007_index.runexit
- 008_for_name_break.ast
- 008_for_name_break.echo
- 008_for_name_break.lex
- 008_for_name_break.run
- 008_for_name_break.runexit
- 009_for_nested_empty_return.ast
- 009_for_nested_empty_return.echo
- 009_for_nested_empty_return.lex
- 009_for_nested_empty_return.run
- 009_for_nested_empty_return.runexit
- 010_for_nested_hit_return.ast
- 010_for_nested_hit_return.echo
- 010_for_nested_hit_return.lex
- 010_for_nested_hit_return.run
- 010_for_nested_hit_return.runexit
- 011_for_nested_method_empty.ast
- 011_for_nested_method_empty.echo
- 011_for_nested_method_empty.lex
- 011_for_nested_method_empty.run
- 011_for_nested_method_empty.runexit
- 001_crud.ast
- 001_crud.echo
- 001_crud.lex
- 001_crud.run
- 001_crud.runexit
- 002_mixed.ast
- 002_mixed.echo
- 002_mixed.lex
- 002_mixed.run
- 002_mixed.runexit
- 001_int.ast
- 001_int.echo
- 001_int.lex
- 001_int.run
- 001_int.runexit
- 002_default.ast
- 002_default.echo
- 002_default.lex
- 002_default.run
- 002_default.runexit
- 003_string.ast
- 003_string.echo
- 003_string.lex
- 003_string.run
- 003_string.runexit
- 004_bool.ast
- 004_bool.echo
- 004_bool.lex
- 004_bool.run
- 004_bool.runexit
- 005_multi_value.ast
- 005_multi_value.echo
- 005_multi_value.lex
- 005_multi_value.run
- 005_multi_value.runexit
- 006_multi_expr.ast
- 006_multi_expr.echo
- 006_multi_expr.lex
- 006_multi_expr.run
- 006_multi_expr.runexit
- 007_type_arm.ast
- 007_type_arm.echo
- 007_type_arm.lex
- 007_type_arm.run
- 007_type_arm.runexit
- 008_type_default.ast
- 008_type_default.echo
- 008_type_default.lex
- 008_type_default.run
- 008_type_default.runexit
- 009_union_return.ast
- 009_union_return.echo
- 009_union_return.lex
- 009_union_return.run
- 009_union_return.runexit
- 001_abs.ast
- 001_abs.echo
- 001_abs.lex
- 001_abs.run
- 001_abs.runexit
- 002_floor_pow.ast
- 002_floor_pow.echo
- 002_floor_pow.lex
- 002_floor_pow.run
- 002_floor_pow.runexit
- 003_trig.ast
- 003_trig.echo
- 003_trig.lex
- 003_trig.run
- 003_trig.runexit
- 001_inc.ast
- 001_inc.echo
- 001_inc.lex
- 001_inc.run
- 001_inc.runexit
- 002_method_arg.ast
- 002_method_arg.echo
- 002_method_arg.lex
- 002_method_arg.run
- 002_method_arg.runexit
- 003_self_call.ast
- 003_self_call.echo
- 003_self_call.lex
- 003_self_call.run
- 003_self_call.runexit
- 004_return_self.ast
- 004_return_self.echo
- 004_return_self.lex
- 004_return_self.run
- 004_return_self.runexit
- 005_chain.ast
- 005_chain.echo
- 005_chain.lex
- 005_chain.run
- 005_chain.runexit
- 006_falloff_self.ast
- 006_falloff_self.echo
- 006_falloff_self.lex
- 006_falloff_self.run
- 006_falloff_self.runexit
- 007_from_free_fn.ast
- 007_from_free_fn.echo
- 007_from_free_fn.lex
- 007_from_free_fn.run
- 007_from_free_fn.runexit
- 008_from_call_chain.ast
- 008_from_call_chain.echo
- 008_from_call_chain.lex
- 008_from_call_chain.run
- 008_from_call_chain.runexit
- 009_field_after_call.ast
- 009_field_after_call.echo
- 009_field_after_call.lex
- 009_field_after_call.run
- 009_field_after_call.runexit
- 010_return_import.ast
- 010_return_import.echo
- 010_return_import.lex
- 010_return_import.run
- 010_return_import.runexit
- 001_value_ref_share.ast
- 001_value_ref_share.echo
- 001_value_ref_share.lex
- 001_value_ref_share.run
- 001_value_ref_share.runexit
- 001_entry.ast
- 001_entry.echo
- 001_entry.lex
- 001_entry.run
- 001_entry.runexit
- counter.echo
- ops.echo
- 001_entry.ast
- 001_entry.echo
- 001_entry.lex
- 001_entry.run
- 001_entry.runexit
- a.echo
- b.echo
- 001_call.ast
- 001_call.echo
- 001_call.lex
- 001_call.run
- 001_call.runexit
- lib.echo
- 001_call.ast
- 001_call.echo
- 001_call.lex
- 001_call.run
- 001_call.runexit
- util.echo
- 001_field.ast
- 001_field.echo
- 001_field.lex
- 001_field.run
- 001_field.runexit
- cfg.echo
- 001_tcp_loopback.ast
- 001_tcp_loopback.echo
- 001_tcp_loopback.lex
- 001_tcp_loopback.run
- 001_tcp_loopback.runexit
- 002_udp_loopback.ast
- 002_udp_loopback.echo
- 002_udp_loopback.lex
- 002_udp_loopback.run
- 002_udp_loopback.runexit
- 003_conn_methods.ast
- 003_conn_methods.echo
- 003_conn_methods.lex
- 003_conn_methods.run
- 003_conn_methods.runexit
- 004_free_fn_param_methods.ast
- 004_free_fn_param_methods.echo
- 004_free_fn_param_methods.lex
- 004_free_fn_param_methods.run
- 004_free_fn_param_methods.runexit
- 001_some.ast
- 001_some.echo
- 001_some.lex
- 001_some.run
- 001_some.runexit
- 002_none.ast
- 002_none.echo
- 002_none.lex
- 002_none.run
- 002_none.runexit
- 001_pid.ast
- 001_pid.echo
- 001_pid.lex
- 001_pid.run
- 001_pid.runexit
- 002_platform.ast
- 002_platform.echo
- 002_platform.lex
- 002_platform.run
- 002_platform.runexit
- 003_cwd_chdir.ast
- 003_cwd_chdir.echo
- 003_cwd_chdir.lex
- 003_cwd_chdir.run
- 003_cwd_chdir.runexit
- 004_chdir_fail.ast
- 004_chdir_fail.echo
- 004_chdir_fail.lex
- 004_chdir_fail.run
- 004_chdir_fail.runexit
- 005_hostname.ast
- 005_hostname.echo
- 005_hostname.lex
- 005_hostname.run
- 005_hostname.runexit
- 001_name.ast
- 001_name.echo
- 001_name.lex
- 001_name.run
- 001_name.runexit
- 002_clean.ast
- 002_clean.echo
- 002_clean.lex
- 002_clean.run
- 002_clean.runexit
- 003_rel.ast
- 003_rel.echo
- 003_rel.lex
- 003_rel.run
- 003_rel.runexit
- 004_rel_fail.ast
- 004_rel_fail.echo
- 004_rel_fail.lex
- 004_rel_fail.run
- 004_rel_fail.runexit
- 005_walk.ast
- 005_walk.echo
- 005_walk.lex
- 005_walk.run
- 005_walk.runexit
- 006_parent.ast
- 006_parent.echo
- 006_parent.lex
- 006_parent.run
- 006_parent.runexit
- 001_print_i64.ast
- 001_print_i64.echo
- 001_print_i64.lex
- 001_print_i64.run
- 001_print_i64.runexit
- 002_eprint.ast
- 002_eprint.echo
- 002_eprint.lex
- 002_eprint.run
- 002_eprint.runexit
- 001_env.ast
- 001_env.echo
- 001_env.lex
- 001_env.run
- 001_env.runexit
- 002_run_missing.ast
- 002_run_missing.echo
- 002_run_missing.lex
- 002_run_missing.run
- 002_run_missing.runexit
- 003_args.ast
- 003_args.echo
- 003_args.lex
- 003_args.run
- 003_args.runexit
- 004_pipes_cat.ast
- 004_pipes_cat.echo
- 004_pipes_cat.lex
- 004_pipes_cat.run
- 004_pipes_cat.runexit
- 005_argv_len.ast
- 005_argv_len.echo
- 005_argv_len.lex
- 005_argv_len.run
- 005_argv_len.runexit
- 006_run_cwd.ast
- 006_run_cwd.echo
- 006_run_cwd.lex
- 006_run_cwd.run
- 006_run_cwd.runexit
- 007_run_capture.ast
- 007_run_capture.echo
- 007_run_capture.lex
- 007_run_capture.run
- 007_run_capture.runexit
- 001_fifo.ast
- 001_fifo.echo
- 001_fifo.lex
- 001_fifo.run
- 001_fifo.runexit
- 001_seed.ast
- 001_seed.echo
- 001_seed.lex
- 001_seed.run
- 001_seed.runexit
- 001_for.ast
- 001_for.echo
- 001_for.lex
- 001_for.run
- 001_for.runexit
- 002_match.ast
- 002_match.echo
- 002_match.lex
- 002_match.run
- 002_match.runexit
- 003_bind.ast
- 003_bind.echo
- 003_bind.lex
- 003_bind.run
- 003_bind.runexit
- 001_kind.ast
- 001_kind.echo
- 001_kind.lex
- 001_kind.run
- 001_kind.runexit
- 002_key_bytes.ast
- 002_key_bytes.echo
- 002_key_bytes.lex
- 002_key_bytes.run
- 002_key_bytes.runexit
- 001_ok.ast
- 001_ok.echo
- 001_ok.lex
- 001_ok.run
- 001_ok.runexit
- 002_err.ast
- 002_err.echo
- 002_err.lex
- 002_err.run
- 002_err.runexit
- 003_print_err.ast
- 003_print_err.echo
- 003_print_err.lex
- 003_print_err.run
- 003_print_err.runexit
- 001_crud.ast
- 001_crud.echo
- 001_crud.lex
- 001_crud.run
- 001_crud.runexit
- 002_mixed.ast
- 002_mixed.echo
- 002_mixed.lex
- 002_mixed.run
- 002_mixed.runexit
- 001_memory.ast
- 001_memory.echo
- 001_memory.lex
- 001_memory.run
- 001_memory.runexit
- 001_print_pure.ast
- 001_print_pure.echo
- 001_print_pure.lex
- 001_print_pure.run
- 001_print_pure.runexit
- 002_print_rich.ast
- 002_print_rich.echo
- 002_print_rich.lex
- 002_print_rich.run
- 002_print_rich.runexit
- 003_bind_print.ast
- 003_bind_print.echo
- 003_bind_print.lex
- 003_bind_print.run
- 003_bind_print.runexit
- 004_interp.ast
- 004_interp.echo
- 004_interp.lex
- 004_interp.run
- 004_interp.runexit
- 005_eq.ast
- 005_eq.echo
- 005_eq.lex
- 005_eq.run
- 005_eq.runexit
- 006_recv_field.ast
- 006_recv_field.echo
- 006_recv_field.lex
- 006_recv_field.run
- 006_recv_field.runexit
- 007_cat.ast
- 007_cat.echo
- 007_cat.lex
- 007_cat.run
- 007_cat.runexit
- 008_legal_escapes.ast
- 008_legal_escapes.echo
- 008_legal_escapes.lex
- 008_legal_escapes.run
- 008_legal_escapes.runexit
- 010_parse_int.ast
- 010_parse_int.echo
- 010_parse_int.lex
- 010_parse_int.run
- 010_parse_int.runexit
- 011_empty.ast
- 011_empty.echo
- 011_empty.lex
- 011_empty.run
- 011_empty.runexit
- 012_slice_bytes.ast
- 012_slice_bytes.echo
- 012_slice_bytes.lex
- 012_slice_bytes.run
- 012_slice_bytes.runexit
- 013_trim_split.ast
- 013_trim_split.echo
- 013_trim_split.lex
- 013_trim_split.run
- 013_trim_split.runexit
- 014_parse_float.ast
- 014_parse_float.echo
- 014_parse_float.lex
- 014_parse_float.run
- 014_parse_float.runexit
- 015_parse_float_fail.ast
- 015_parse_float_fail.echo
- 015_parse_float_fail.lex
- 015_parse_float_fail.run
- 015_parse_float_fail.runexit
- 016_from_debug.ast
- 016_from_debug.echo
- 016_from_debug.lex
- 016_from_debug.run
- 016_from_debug.runexit
- 017_from_bytes.ast
- 017_from_bytes.echo
- 017_from_bytes.lex
- 017_from_bytes.run
- 017_from_bytes.runexit
- 018_contains.ast
- 018_contains.echo
- 018_contains.lex
- 018_contains.run
- 018_contains.runexit
- 001_lit_fields.ast
- 001_lit_fields.echo
- 001_lit_fields.lex
- 001_lit_fields.run
- 001_lit_fields.runexit
- 002_field_write.ast
- 002_field_write.echo
- 002_field_write.lex
- 002_field_write.run
- 002_field_write.runexit
- 003_print_struct.ast
- 003_print_struct.echo
- 003_print_struct.lex
- 003_print_struct.run
- 003_print_struct.runexit
- 004_anon.ast
- 004_anon.echo
- 004_anon.lex
- 004_anon.run
- 004_anon.runexit
- 005_nested_assign.ast
- 005_nested_assign.echo
- 005_nested_assign.lex
- 005_nested_assign.run
- 005_nested_assign.runexit
- 006_nested_named.ast
- 006_nested_named.echo
- 006_nested_named.lex
- 006_nested_named.run
- 006_nested_named.runexit
- 007_field_defaults.ast
- 007_field_defaults.echo
- 007_field_defaults.lex
- 007_field_defaults.run
- 007_field_defaults.runexit
- 008_default_const.ast
- 008_default_const.echo
- 008_default_const.lex
- 008_default_const.run
- 008_default_const.runexit
- 001_immediate_block.ast
- 001_immediate_block.echo
- 001_immediate_block.lex
- 001_immediate_block.run
- 001_immediate_block.runexit
- 002_spawn_join.ast
- 002_spawn_join.echo
- 002_spawn_join.lex
- 002_spawn_join.run
- 002_spawn_join.runexit
- 003_result_block.ast
- 003_result_block.echo
- 003_result_block.lex
- 003_result_block.run
- 003_result_block.runexit
- 004_result_spawn_join.ast
- 004_result_spawn_join.echo
- 004_result_spawn_join.lex
- 004_result_spawn_join.run
- 004_result_spawn_join.runexit
- 005_spawn_accept.ast
- 005_spawn_accept.echo
- 005_spawn_accept.lex
- 005_spawn_accept.run
- 005_spawn_accept.runexit
- 006_spawn_fn_args.ast
- 006_spawn_fn_args.echo
- 006_spawn_fn_args.lex
- 006_spawn_fn_args.run
- 006_spawn_fn_args.runexit
- 007_accept_fn.ast
- 007_accept_fn.echo
- 007_accept_fn.lex
- 007_accept_fn.run
- 007_accept_fn.runexit
- 008_closure_capture.ast
- 008_closure_capture.echo
- 008_closure_capture.lex
- 008_closure_capture.run
- 008_closure_capture.runexit
- 009_closure_no_caps.ast
- 009_closure_no_caps.echo
- 009_closure_no_caps.lex
- 009_closure_no_caps.run
- 009_closure_no_caps.runexit
- 010_closure_accept.ast
- 010_closure_accept.echo
- 010_closure_accept.lex
- 010_closure_accept.run
- 010_closure_accept.runexit
- 011_multi_capture.ast
- 011_multi_capture.echo
- 011_multi_capture.lex
- 011_multi_capture.run
- 011_multi_capture.runexit
- 012_nested_result_match.ast
- 012_nested_result_match.echo
- 012_nested_result_match.lex
- 012_nested_result_match.run
- 012_nested_result_match.runexit
- 001_format.ast
- 001_format.echo
- 001_format.lex
- 001_format.run
- 001_format.runexit
- 002_parse.ast
- 002_parse.echo
- 002_parse.lex
- 002_parse.run
- 002_parse.runexit
- 003_parse_fail.ast
- 003_parse_fail.echo
- 003_parse_fail.lex
- 003_parse_fail.run
- 003_parse_fail.runexit
- 004_mono.ast
- 004_mono.echo
- 004_mono.lex
- 004_mono.run
- 004_mono.runexit
- 005_now.ast
- 005_now.echo
- 005_now.lex
- 005_now.run
- 005_now.runexit
- ca.srl
- ext.cnf
- server.csr
- 001_loopback.ast
- 001_loopback.echo
- 001_loopback.lex
- 001_loopback.run
- 001_loopback.runexit
- 002_load_ca.ast
- 002_load_ca.echo
- 002_load_ca.lex
- 002_load_ca.run
- 002_load_ca.runexit
- 001_loopback.ast
- 001_loopback.echo
- 001_loopback.lex
- 001_loopback.run
- 001_loopback.runexit
- 001_parse.ast
- 001_parse.echo
- 001_parse.lex
- 001_parse.run
- 001_parse.runexit
- 001_i32_arith.ast
- 001_i32_arith.echo
- 001_i32_arith.lex
- 001_i32_arith.run
- 001_i32_arith.runexit
- 002_f32_arith.ast
- 002_f32_arith.echo
- 002_f32_arith.lex
- 002_f32_arith.run
- 002_f32_arith.runexit
- 003_ui_family.ast
- 003_ui_family.echo
- 003_ui_family.lex
- 003_ui_family.run
- 003_ui_family.runexit
- 004_i16_ui16_ui32.ast
- 004_i16_ui16_ui32.echo
- 004_i16_ui16_ui32.lex
- 004_i16_ui16_ui32.run
- 004_i16_ui16_ui32.runexit
- 005_casts.ast
- 005_casts.echo
- 005_casts.lex
- 005_casts.run
- 005_casts.runexit
- 006_unsigned_shr.ast
- 006_unsigned_shr.echo
- 006_unsigned_shr.lex
- 006_unsigned_shr.run
- 006_unsigned_shr.runexit
- README.md
- call.echo
- collatz.echo
- digits.echo
- factorial.echo
- fibonacci.echo
- fizzbuzz.echo
- gcd.echo
- hanoi.echo
- list.echo
- power.echo
- primes.echo
- README.md
- search.echo
- sort.echo
- config.echo
- main.echo
- README.md
- routes.echo
- server.echo
- surface.echo
- user.echo
- user_extra.echo
- users.echo
- counter.echo
- main.echo
- ops.echo
- lib.echo
- main.echo
- main.echo
- add.echo
- aes_gcm.echo
- anon_struct.echo
- bitwise.echo
- break_loop.echo
- bufio_demo.echo
- bufio_read.echo
- bytes.echo
- bytes_from_int.echo
- bytes_from_str.echo
- bytes_get.echo
- bytes_search.echo
- bytes_slice.echo
- cli_demo.echo
- compress_demo.echo
- const_hash.echo
- core_surface.echo
- countdown.echo
- counter.echo
- csprng.echo
- csv_demo.echo
- duration.echo
- effect_block.echo
- else_if.echo
- eprint.echo
- eq_deep_id.echo
- field_fn.echo
- first_class_fn.echo
- floats.echo
- fs.echo
- fs_append.echo
- fs_chmod.echo
- fs_create_temp.echo
- fs_symlink.echo
- hash_table.echo
- hello.echo
- hex_bin.echo
- hmac.echo
- http_chunked.echo
- http_client_demo.echo
- if_branch.echo
- interp.echo
- json.echo
- list_assign.echo
- list_contains.echo
- list_hof.echo
- list_ints.echo
- list_push.echo
- locator.echo
- log_kv.echo
- map.echo
- map_test.echo
- match_lit.echo
- match_multi.echo
- match_type.echo
- math.echo
- math_trig.echo
- method_chain.echo
- multi_bind.echo
- nested_assign.echo
- nested_fn.echo
- os.echo
- os_chdir.echo
- os_hostname.echo
- path_demo.echo
- path_parent.echo
- path_rel.echo
- path_walk.echo
- point.echo
- process.echo
- process_capture.echo
- process_cwd.echo
- queue.echo
- random_log_demo.echo
- range.echo
- README.md
- reflect.echo
- result_err.echo
- result_ok.echo
- return_fn.echo
- return_self.echo
- set.echo
- sha512.echo
- siphash.echo
- smoke_test.echo
- stdin.echo
- store_memory.echo
- str_debug.echo
- str_from_bytes.echo
- str_parse.echo
- str_search.echo
- str_text.echo
- strings.echo
- struct_defaults.echo
- sum_list.echo
- time_day.echo
- time_mono.echo
- time_now.echo
- tls_demo.echo
- union_return.echo
- url_demo.echo
- utf8.echo
- width_f32.echo
- width_i32.echo
- widths.echo
- README.md
- highlights.scm
- alloc.h
- array.h
- parser.h
- grammar.json
- node-types.json
- parser.c
- grammar.js
- package.json
- README.md
- tree-sitter-echo.wasm
- tree-sitter.json
- llvm.sh
- stage-runtime-lib.sh
- windows-llvm-deps.sh
- build-wasm.sh
- gate
- install-hooks.sh
- install.sh
- uninstall.sh
- hash_table.echo
- map.echo
- queue.echo
- set.echo
- gzip.echo
- zip.echo
- sha256.echo
- sha512.echo
- sip.echo
- aes_gcm.echo
- hmac.echo
- random.echo
- base64.echo
- csv.echo
- hex.echo
- utf8.echo
- conn.echo
- listener.echo
- socket.echo
- socket.echo
- socket_type.echo
- dns.echo
- http.echo
- http_client.echo
- request.echo
- response.echo
- server.echo
- tls.echo
- unix.echo
- url.echo
- bufio.echo
- bytes.echo
- cli.echo
- fs.echo
- git.echo
- io.echo
- json.echo
- list.echo
- log.echo
- math.echo
- os.echo
- path.echo
- process.echo
- random.echo
- README.md
- reflect.echo
- store.echo
- str.echo
- test.echo
- time.echo
- echo_wasm.d.ts
- echo_wasm.js
- echo_wasm_bg.wasm
- echo_wasm_bg.wasm.d.ts
- README.md
- model_quantized.onnx
- config.json
- special_tokens_map.json
- tokenizer.json
- tokenizer_config.json
- vocab.txt
- highlights.scm
- tree-sitter-echo.wasm
- tree-sitter.wasm
- web-tree-sitter.wasm
- 404.html
- _headers
- _redirects
- CNAME
- logo.svg
- robots.txt
- book-intro.echo
- hero.echo
- sync-tree-sitter.mjs
- verify-docs-pages.mjs
- verify-prose.mjs
- verify-sitemap.mjs
- verify-spa-redirects.mjs
- verify-static-dist.mjs
- verify-std-reference.mjs
- verify-try.mjs
- cta-link.tsx
- docs-search.tsx
- echo-code.tsx
- install-snippet.tsx
- logo.tsx
- content.ts
- install-content.ts
- search.ts
- site.ts
- static-html.ts
- std-reference.ts
- current-release.ts
- echo-check.ts
- echo-highlight.ts
- echo-wasm-rev.ts
- playground.ts
- app.tsx
- index.css
- install.tsx
- legal.tsx
- main.tsx
- router.tsx
- security.tsx
- try.tsx
- vite-env.d.ts
- .gitignore
- .prettierignore
- index.html
- package-lock.json
- package.json
- README.md
- SITE.md
- tsconfig.app.json
- tsconfig.json
- tsconfig.node.json
- vite.config.ts
- .gitignore
- AGENTS.md
- Cargo.lock
- Cargo.toml
- CLA.md
- CONTRIBUTING.md
- justfile
- LICENSE
- README.md
- SECURITY.md
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Link
Example
// repository documentation
Was this content helpful?
(0 ratings)
