Stream: beginners

Topic: Questions about roc lang


view this post on Zulip thelamplighter_ (Jan 06 2026 at 13:43):

heyy, kinda new here. since I came across roc, I've been very interested in it, I've been programming language hopping for a while now looking for an almost perfect programming language for me that ticks all my boxes, and i believe roc lang so far has ticked all my boxes. I'm really excited about this language and can't wait to start using it.
I just have a few questions:

  1. pls when will we have an updated roc documentation to start trying out roc (new compiler) and learning the language properly
  2. pls when is it estimated to get 0.1
  3. pls what is the idea and model of concurrency in the lang

thanks soo much

view this post on Zulip Anton (Jan 06 2026 at 14:49):

Welcome @thelamplighter_ :)
@Richard Feldman will probably be able to give the best estimates for 1. and 2..
For concurrency I think the explanations here are still applicable #introductions > Hello from Timon @ 💬

As a temporary alternative for documentation you can check out:

view this post on Zulip Richard Feldman (Jan 06 2026 at 15:34):

welcome, @thelamplighter_! :wave:

view this post on Zulip Richard Feldman (Jan 06 2026 at 15:35):

pls when will we have an updated roc documentation to start trying out roc (new compiler) and learning the language properly

I'm working on a language reference, and when that's done, I plan to revise the tutorial (which will link to the language reference in a bunch of places, hence why I want to do the language reference first)

view this post on Zulip Richard Feldman (Jan 06 2026 at 15:35):

pls when is it estimated to get 0.1

the goal is to release 0.1.0 sometime in 2026! :smile:

view this post on Zulip Richard Feldman (Jan 06 2026 at 15:45):

pls what is the idea and model of concurrency in the lang

I don't have a concise answer to this, but on a very basic level, there are at least 3 ways to think about this:

  1. How do asynchronous effects work? The plan here can be summarized as "asnyc/await without async or await" - so, like Go and Erlang, you can just write Http.get!(...) and the I/O will automatically be nonblocking async at runtime, no need for the language to have async or await keywords. It will be up to platforms to implement that, and some platforms (e.g. a wasm plugin or something) may choose to make these actually blocking as an implementation detail. The ones that make it nonblocking will use cooperative green threads behind the scenes; @Brendan Hansknecht already made a proof of concept of this.
  2. How does concurrency work for effects that aren't I/O? The plan for 0.1.0 is to let platform authors offer primitives and we can experiment to find out what feels nice. For example, Rust Channels can be implemented in any Roc platform right now, with effectful functions for their operations.
  3. How does concurrency work for pure functions? e.g. can I do "run map over this List and parallelize each of the transformation function calls" and if so, how? This is different from concurrency with effects because it requires changes to the stdlib. The answer to this is that I'm intentionally leaving this out of scope for 0.1.0 and planning to revisit it later based on what there turns out to be demand for in practice.

view this post on Zulip thelamplighter_ (Jan 06 2026 at 16:59):

thanks :blush: @Richard Feldman and @Anton . I'll go through the links given, start experimenting and give feedback


Last updated: Jan 12 2026 at 12:19 UTC