A fast, friendly, functional language. https://roc-lang.org
Find a file
Richard Feldman 24dc77ab16
Add roundtrip verification tests for emitted Roc code
This adds tests that verify emitted Roc code produces the same results
as the original when run through the interpreter:

- evalToInt/evalToBool helpers for evaluating expressions
- Roundtrip tests for:
  - Integer literals
  - Arithmetic expressions
  - If expressions
  - Boolean True/False
  - Complex arithmetic

The tests parse source, emit it as Roc code, re-parse the emitted code,
run both through the interpreter, and verify they produce identical results.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 14:15:22 -05:00
.cargo Fix some tests 2025-01-10 20:49:53 -05:00
.devcontainer
.github retry on timeout 2025-12-16 18:28:44 +01:00
.reuse
ci Implement bitwise shifts (#8469) 2025-12-17 19:32:38 +01:00
crates don't ask to report issue for old compiler (#8683) 2025-12-15 17:01:43 +01:00
design glossary: type signature + typos upgrade (#7776) 2025-05-07 17:35:56 +02:00
devtools Update debug_tips.md (#8127) 2025-07-28 15:37:19 +02:00
docker ditch old_linux + references (#7639) 2025-02-26 12:22:07 +01:00
examples correct link 2025-03-31 18:26:20 +02:00
nix add licenses subcommand (#7787) 2025-05-17 10:30:41 +02:00
src Add roundtrip verification tests for emitted Roc code 2025-12-19 14:15:22 -05:00
test Improve render helper to render lists of tags correctly (#8702) 2025-12-19 10:32:33 +01:00
.gitattributes add snapshots to .gitattributes 2025-06-16 12:44:19 +02:00
.gitignore Cleanup target handling and deuplication 2025-12-09 13:30:36 +11:00
.llvmenv
.rules Merge origin/main 2025-11-22 15:45:17 -05:00
AGENT.md wip 2025-07-04 21:59:03 -04:00
authors Lowercased some files (#7713) 2025-03-24 16:43:18 +01:00
build.zig Merge remote-tracking branch 'remote/cli-err-reporting' into implement-box-with-cli-err-reporting 2025-12-17 15:28:54 +11:00
build.zig.zon Simplify DecompressingHashReader 2025-10-21 15:32:53 +00:00
BUILDING_FROM_SOURCE.md Update Zig version from 0.15.1 to 0.15.2 2025-10-31 18:21:26 +01:00
Cargo.lock Bump tracing-subscriber from 0.3.19 to 0.3.20 (#8232) 2025-09-06 18:00:22 +00:00
Cargo.toml Bump tracing-subscriber from 0.3.19 to 0.3.20 (#8232) 2025-09-06 18:00:22 +00:00
code_of_conduct.md Lowercased some files (#7713) 2025-03-24 16:43:18 +01:00
CONTRIBUTING.md better error msg when no main.roc (#8251) 2025-09-29 19:02:26 +02:00
default.nix
flake.lock nix flake cleanup (#7576) 2025-02-04 19:05:57 +01:00
flake.nix website has moved to https://github.com/roc-lang/www.roc-lang.org (#8094) 2025-07-22 18:53:15 +02:00
Glossary.md ownership semantic docs and comptime check 2025-11-30 21:39:41 +11:00
legal_details Lowercased some files (#7713) 2025-03-24 16:43:18 +01:00
LICENSE
mlc_config.json
README.md Update sponsors in readme 2025-07-14 11:24:45 -04:00
rust-toolchain.toml glossary: type signature + typos upgrade (#7776) 2025-05-07 17:35:56 +02:00
shell.nix feat(nix): make buildRocPackage fetch dependencies recursively (#7729) 2025-04-18 20:11:09 +02:00
typos.toml sigfault is not a typo 2025-12-05 23:16:14 -05:00
version.txt Restore version.txt 2025-08-11 22:52:07 -04:00

Work in progress!

Roc is not ready for a 0.1 release yet, but we do have:

If you'd like to contribute, get started here. Don't hesitate to ask for help on our group chat, we're friendly!

Sponsors

You can 💜 sponsor 💜 Roc on:

We are very grateful for our corporate sponsors Lambda Class, ohne-makler, and Decem:

Lambda Class logo      ohne-makler logo      Decem logo

If you would like your company to become a corporate sponsor of Roc's development, please DM Richard Feldman on Zulip!

We'd also like to express our gratitude to our generous individual sponsors! A special thanks to those sponsoring $25/month or more:

Thank you all so much for helping Roc progress!