I think we're nearing the point where a version 0.1.0 of Roc makes sense. Seems reasonable to aim for 2025 being the year we do it.
(sometime in 2025, not like January!)
Assuming we finish static dispatch, for loops, and like them?
yeah the main things I'd want to consider prerequisites would be:
for and var landedroc dev)roc binary other than what the OS requires (e.g. libSystem on macOS and libc on Windows). Linux should ideally be static binaries with musl.so extremely definitely not January :laughing:
but those all seem like things that should be plausible in 2025
obviously we won't stop trying to improve the language (0.1 is not 1.0!) but I've been saying we should wait to do an 0.1 release until we have a good reason, and I think a good reason is to communicate "hey we just did a bunch of major changes, but we're going to cool it with those for a bit"
and then that can give us time to try out all the things we've built, get comfortable with them, see what's working as-is and what has room for improvement, etc.
fix bugs, improve performance, clean up code, all that good stuff!
oh maybe I should have put it explicitly in that list, but Windows working too :sweat_smile:
would be a prerequisite
but yeah, I feel like once 0.1.0 is out, it's time to do a promotional blitz
shout from the rooftops about what we've been building
and for everyone to try it out
apparently Primeagen is open to having me on to talk about Roc in ~6 months...he has 655K YouTube subscribers as of today, and who knows how many more by then?
also I can try to do a GOTO Conference about Roc, and their YouTube channel already has over a million subscribers
plenty of ways to get the word out! :smiley:
Maybe Software Unscripted could do an episode about it. I think they’d have you on
But I’d love to understand what’s meant by “custom types” here, because I don’t think that word means what I think it means
I'm going to do another episode with José Valim...I was actually thinking about explaining all the static dispatch stuff to him and getting his reaction live
which would also serve to explain it to everyone listening/watching
custom types meaning #ideas > custom types
I always thought Jose was a lurker here, but I would love to see that episode
I don't think he keeps up with Roc stuff except when he and I chat :big_smile:
Love the custom types proposal
So when I finish up with the Docs feedback, I'd like to help on one of these.
that would be amazing! :heart_eyes:
Looks like there isn't currently an issue for Custom Types - but that seems like one best suited for my level of experience.
Should I create an issue, and maybe we should have either a v0.1.0 milestone or project?
sure, go for it!
I don't have any preferences on milestones/projects/etc. - whatever others agree on is fine by me :big_smile:
Alright folks who care. Give me :tombstone: for milestones, a :pencil: for project, and :flags: for just a label as a reaction to this message
Exciting stuff
What do we think about the major platform changes:
These will be major platform changes. Some breaking. And fixing stuff to make glue functional will be important when we want more platforms. (Especially platforms not managed by luke)
Oh, and I guess if we have any plans for atomics and sharing across threads (but I definitely think that can be post 0.1.0)
great questions! I think all of those wouldn't necessarily be 0.1.0 blockers, unless they turned out to be prerequisites for something else
e.g. it might turn out that for Rust platforms like basic-cli and basic-webserver to work on Windows (which they currently don't, as far as I know) we need to switch to one-way linking, which would be blocked on the allocators change
but the other things I think would be good examples of things to focus on post-0.1.0 while we're getting a feel for how static dispatch and all the other changes feel
because they don't change how it feels to build applications, but rather how it feels to do platform development (as well as their robustness etc.)
also I think atomics and other concurrency-related things should be after 0.1.0, both because concurrency will be a substantial project, and also because it makes sense to have it be its own sort of "news event" if that makes sense
"here is how you can now do awesome concurrency in Roc, check it out!" would be a great blog post
to me, the theme of 0.1.0 is:
var, for, and static dispatch. Between this and the previous point, we should get a strong signal from the beginners coming in regarding how easy Roc has become to get into, without the noise of the main blocker being "I keep hitting compiler crashes." :big_smile: Presumably there will still be room for improvement in varioous ways, but this should give us a good sense of the impact the new things have had on the beginner experience!Anthony Bullard said:
Alright folks who care. Give me :tombstone: for milestones, a :pencil: for project, and :flags: for just a label as a reaction to this message
It's seems pretty unanimous here, milestone inbound
Yeah, your description of 0.1.0 sounds reasonable and matches what I thought you were planning. Frankly a 0.2.0 platform focused release may make a lot of sense. It isn't about the core of the feel of roc, it is about expanding what roc can do and where it can be used. Kinda a way to open up the floodgates of possible applications.
here's a preliminary doc of things that are and aren't blockers - any thoughts on it welcome! :smiley:
https://docs.google.com/document/d/1kA9YfyGSYLD0l2kntH_C28i18hHTECAtz-isWnwAiNY/edit?usp=sharing
(this can be translated into some other source of truth later, I just wanted to get everything down in one place and see if we're missing anything etc.)
With roc dev gone, just roc would take its place?
https://github.com/roc-lang/roc/issues/6637 -- cli workflow
I see. I have a minor nitpick about just the roc command for scripting, but I'll create another topic
should the spread/rest syntax be included for 0.1.0 ? I suppose it is relevant to the beginner friendliness and the roc language feel.
https://github.com/roc-lang/roc/issues/7091
I don't think it's a blocker, but definitely something we want to do!
Richard Feldman said:
apparently Primeagen is open to having me on to talk about Roc in ~6 months...he has 655K YouTube subscribers as of today, and who knows how many more by then?
He now has 1 million :smile: Maybe when the new compiler and the documentation is done you could reach out to him. He did two videos on Gleam and expressed an interest in having Louis on but that was in response to Gleam v1 and 1.2
Richard Feldman said:
apparently Primeagen is open to having me on to talk about Roc in ~6 months...he has 655K YouTube subscribers as of today, and who knows how many more by then?
He's a character. Good luck!
Last updated: Jun 16 2026 at 16:19 UTC