Hi all, I just found out about Roc and thought I'd try out some features to see how they differ from Elm and Haskell. I could not get my small app to compile, not even after reducing it to a very minimal application. I assumed I must be doing something wrong, but it seems the same as the tutorial as far as I can tell. If it's not a user error, I'll create a Github issue
Here is the code:
app "hello"
packages { pf: "https://github.com/roc-lang/basic-cli/releases/download/0.3.2/tE4xS_zLdmmxmHwHih9kHWQ7fsXtJr7W7h3425-eZFk.tar.br" }
imports [pf.Stdout]
provides main to pf
main =
Stdout.line "hello"
This panics with the following error message:
thread 'main' panicked at 'not yet implemented: unhandled parse error ListStart(@185)', crates/reporting/src/error/parse.rs:3499:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Running it with RUST_BACKTRACE=1
gives the following:
thread 'main' panicked at 'not yet implemented: unhandled parse error ListStart(@185)', crates/reporting/src/error/parse.rs:3499:14
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
And running it with RUST_BACKTRACE=full
gives:
thread 'main' panicked at 'not yet implemented: unhandled parse error ListStart(@185)', crates/reporting/src/error/parse.rs:3499:14
stack backtrace:
0: 0x55c779eefe35 - <unknown>
1: 0x55c7790f3d6e - <unknown>
2: 0x55c779ee9bf5 - <unknown>
3: 0x55c779eefc05 - <unknown>
4: 0x55c779ef157f - <unknown>
5: 0x55c779ef12ea - <unknown>
6: 0x55c779ef1bef - <unknown>
7: 0x55c779ef19a4 - <unknown>
8: 0x55c779ef033c - <unknown>
9: 0x55c779ef16f2 - <unknown>
10: 0x55c778f41c33 - <unknown>
11: 0x55c779cacf70 - <unknown>
12: 0x55c779c7f6c9 - <unknown>
13: 0x55c77996243c - <unknown>
14: 0x55c779928fa7 - <unknown>
15: 0x55c77991e905 - <unknown>
16: 0x55c7798cf206 - <unknown>
17: 0x55c77942431b - <unknown>
18: 0x55c7795108ce - <unknown>
19: 0x55c779353104 - <unknown>
20: 0x55c77934f1d3 - <unknown>
21: 0x55c77934f1f1 - <unknown>
22: 0x55c779ee1bc8 - <unknown>
23: 0x55c7793560a5 - <unknown>
24: 0x7ff0ae4c7850 - <unknown>
25: 0x7ff0ae4c790a - __libc_start_main
26: 0x55c779056ffe - <unknown>
27: 0x0 - <unknown>
I am running this code on Manjaro Linux (x86_64), kernel version 5.10.181-2-MANJARO. Please let me know if there is any other relevant system info that I should provide.
simple parse problem. I have a branch that generates this error
── MISSING PROVIDES ──────────────────────────────────── examples/cli/echo.roc ─
I am partway through parsing a header, but I got stuck here:
3│ imports [pf.Stdout]
4│ provides main to pf
^
I am expecting the provides keyword next, like
provides [main] to pf⏎
so the first argument to provides
is a list of things, not just a single name
Thank you! Is there a particular reason why I got the cryptic error message instead of the clear one you gave?
yes, it's not implemented on main yet. will make a PR soon
https://github.com/roc-lang/roc/pull/5607
Thank you. Also, the tutorial website has the same error that I did (which is where I got it from) in the first example for an app module header. It gets fixed in every subsequent example, though. Is the code for the website public so I could submit a PR to fix the error?
yes. it's just in our normal repository. based on a grep it is in www/generate_tutorial/src/input/tutorial.md
Thank you! I have created a pull request #5608
Last updated: Jul 05 2025 at 12:14 UTC