I'm trying to follow the Roc tutorial but it makes use of the snakecased builtins whereas the version of Roc I'm running does not have that. Do I need something other than latest nightly? I'm running roc nightly pre-release, built from commit a089cf2 on Di 07 Jan 2025 09:02:06 UTC
Sorry, we are in between a few really big syntax changes at the moment as we try to prepare our syntax for the long-term vision of Roc.
Meaning that we're in an awkward state as we try to make a few breaking changes at once
For me, the pre-release from that date has camelCase builtins:
~/dev/roc main ≡ 13s
❯ roc repl
The rockin' roc repl
────────────────────────
Enter an expression, or :help, or :q to quit.
» Str.countUtf8Bytes "abc"
3 : U64
»
CTRL-C
~/dev/roc main ≡ 35s
❯ roc version
roc nightly pre-release, built from commit a089cf2487d on Tue Jan 7 09:15:18 UTC 2025
The main
branch has snake_case builtins, and all future versions will be in snake_case (unless something drastically changes!)
I've got the exact same 09:02:06 UTC
release as @Kevin Sjöberg and camelCase is working:
❯ ./roc version
roc nightly pre-release, built from commit a089cf2 on Di 07 Jan 2025 09:02:06 UTC
temp11/roc_nightly-linux_x86_64-latest/roc_nightly-linux_x86_64-2025-01-07-a089cf2
❯ ./roc repl
The rockin' roc repl
────────────────────────
Enter an expression, or :help, or :q to quit.
» Str.countUtf8Bytes "abc"
3 : U64
»
I suspect the roc that is failing on camelCase builtins is not the roc that produced your version string
The tutorial should get updated within a few weeks of our release of these breaking changes
Maybe your LSP is a different version of Roc?
Sorry, I of course meant that my version of Roc has camelcase builtins whereas the tutorial made use of snakecase. I guess it’s easy enough to convert until it’s sorted out. :smile:
Yeah we should have kept the tutorial in sync with nightly, not TESTING or main. Here's the history if anyone wants to look at reverting.
Maybe's it's a complication, but maybe we could put nightly docs on a subdomain?
But I think you definitely want docs/online repl/etc to all line up
but maybe we could put nightly docs on a subdomain?
nightly is our "official release" right now, I would rather put the main branch version on a subdomain.
Sure
Well nightly isn't latest though
At least according to Luke
nightly is cut from testing when it's considered stable
But maybe I misunderstood. @Luke Boswell can correct me if so
Well nightly isn't latest though
Can you elaborate on why that's important?
I hope that did not sound condescending :p
I just wasn't sure what you believed that implied
Oh ok, I just wanted it to be clear that nightly is our "official release", but not what people will get if they grab latest
And then stub their toe
So I think yeah, we agree. Nightly on the www, and latest on a subdomain
So with nightly I do mean "roc_nightly-linux_x86_64-latest.tar.gz"
TESTING follows main very closely usually, so I don't think we need a separate site for that
Yeah latest is not the best word nowadays :p
By latest I always mean main:HEAD
I think it's useful for verifying things are all working together before promotion
If we structure the scripts correctly, we could even use Netlify's branch preview feature for this
Collaborating on www/docs changes becomes much easier then
Good idea
By latest I dont mean the main branch, but the GH release labelled latest, of which there can only be one.
Also, I did update the tutorial for the nightly. But in the process of find and replace accidentally got a few of the builtins over to snake_case.
I'm hoping early next week we can launch this breaking change and finish the migration of the tutorial... so we're not in as much of a difficult place where it's a little confusing for people about releases and documentation.
Last updated: Jul 06 2025 at 12:14 UTC