Stream: beginners

Topic: Snakecased builtins not present


view this post on Zulip Kevin Hovsäter (Jan 15 2025 at 18:33):

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

view this post on Zulip Sam Mohr (Jan 15 2025 at 18:39):

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.

view this post on Zulip Sam Mohr (Jan 15 2025 at 18:40):

Meaning that we're in an awkward state as we try to make a few breaking changes at once

view this post on Zulip Sam Mohr (Jan 15 2025 at 18:41):

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

view this post on Zulip Sam Mohr (Jan 15 2025 at 18:43):

The main branch has snake_case builtins, and all future versions will be in snake_case (unless something drastically changes!)

view this post on Zulip Anton (Jan 15 2025 at 18:47):

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
»

view this post on Zulip Anton (Jan 15 2025 at 18:47):

I suspect the roc that is failing on camelCase builtins is not the roc that produced your version string

view this post on Zulip Sam Mohr (Jan 15 2025 at 18:47):

The tutorial should get updated within a few weeks of our release of these breaking changes

view this post on Zulip Sam Mohr (Jan 15 2025 at 18:48):

Maybe your LSP is a different version of Roc?

view this post on Zulip Kevin Hovsäter (Jan 15 2025 at 18:52):

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:

view this post on Zulip Anton (Jan 17 2025 at 13:31):

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.

view this post on Zulip Anthony Bullard (Jan 17 2025 at 14:22):

Maybe's it's a complication, but maybe we could put nightly docs on a subdomain?

view this post on Zulip Anthony Bullard (Jan 17 2025 at 14:23):

But I think you definitely want docs/online repl/etc to all line up

view this post on Zulip Anton (Jan 17 2025 at 14:39):

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.

view this post on Zulip Anthony Bullard (Jan 17 2025 at 14:40):

Sure

view this post on Zulip Anthony Bullard (Jan 17 2025 at 14:41):

Well nightly isn't latest though

view this post on Zulip Anthony Bullard (Jan 17 2025 at 14:41):

At least according to Luke

view this post on Zulip Anthony Bullard (Jan 17 2025 at 14:41):

nightly is cut from testing when it's considered stable

view this post on Zulip Anthony Bullard (Jan 17 2025 at 14:41):

But maybe I misunderstood. @Luke Boswell can correct me if so

view this post on Zulip Anton (Jan 17 2025 at 14:44):

Well nightly isn't latest though

Can you elaborate on why that's important?

view this post on Zulip Anton (Jan 17 2025 at 14:52):

I hope that did not sound condescending :p
I just wasn't sure what you believed that implied

view this post on Zulip Anthony Bullard (Jan 17 2025 at 14:59):

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

view this post on Zulip Anthony Bullard (Jan 17 2025 at 14:59):

And then stub their toe

view this post on Zulip Anthony Bullard (Jan 17 2025 at 15:00):

So I think yeah, we agree. Nightly on the www, and latest on a subdomain

view this post on Zulip Anton (Jan 17 2025 at 15:07):

So with nightly I do mean "roc_nightly-linux_x86_64-latest.tar.gz"

view this post on Zulip Anton (Jan 17 2025 at 15:08):

TESTING follows main very closely usually, so I don't think we need a separate site for that

view this post on Zulip Anton (Jan 17 2025 at 15:08):

Yeah latest is not the best word nowadays :p

view this post on Zulip Anthony Bullard (Jan 17 2025 at 15:11):

By latest I always mean main:HEAD

view this post on Zulip Anthony Bullard (Jan 17 2025 at 15:12):

I think it's useful for verifying things are all working together before promotion

view this post on Zulip Anthony Bullard (Jan 17 2025 at 15:12):

If we structure the scripts correctly, we could even use Netlify's branch preview feature for this

view this post on Zulip Anthony Bullard (Jan 17 2025 at 15:13):

Collaborating on www/docs changes becomes much easier then

view this post on Zulip Anton (Jan 17 2025 at 15:19):

Good idea

view this post on Zulip Luke Boswell (Jan 17 2025 at 19:39):

By latest I dont mean the main branch, but the GH release labelled latest, of which there can only be one.

view this post on Zulip Luke Boswell (Jan 17 2025 at 19:40):

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.

view this post on Zulip Luke Boswell (Jan 17 2025 at 19:43):

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