If you're new to the Roc community & codebase, welcome to this chatroom and welcome to this noobs-only thread! It's exciting to see so many friendly messages over in the "introductions" topic :smiley:
I'm curious - after you first opened the repo, how is/was your initial Roc learning experience? How helpful/fun is the documentation? What is coolest, what is hardest, what is missing, and what is next for you?
All perspectives are welcome! :purple_heart:
I hope I qualify, I joined a few months ago but haven't really programmed yet.
The introduction and setup are great. You quickly learn the basics and Nim allows you to quickly run the examples. So that's a really nice experience.
My roadblock right now is that I don't want to dabble in platforms, but I don't see a way of trying out Roc with an interesting platform. For example, I would like to do the Advent of Code, but I haven't seen a platform that is "plug'n'play". I feel like I need to build my own platform.
So I guess from my perspective what would be amazing is some example platforms and a few challenges or ideas of what to do with them. Then after that I'd be interested in how to build your own platform.
I hope this is the kind of feedback you were after. :wink:
My first impression is that the end result of this language will be _very user friendly_. (Both for platform and application devs.) Not sure I can quantify it, but it's certainly the vibe I get.
Aside from that...
The setup is a lot. (Which, for a compiler, is reasonable, imo.) There are a lot of options for setup, and the end goal of cargo run ETC
(or cargo build
and ./target/debug/roc
) are currently unclear unless you recognize Rust projects and know how to run Cargo. The saving grace for me was the nix-shell
setup that just did everything for me.
Maybe I'll throw a PR up at some point as an attempt to organize the setup docs.
The editor confuses me. It seems like there's a missing top-level HOW_TO_EDITOR doc right now. It doesn't have vim bindings (yet?) and I couldn't make sense of editing by just being in the editor. I'm not sure I'll use it, but it's clearly a passion of Richard's so I suspect it will end up amazing at some point.
I have a lot of experience with languages that bundle an editor and arguably do it pretty well. I've seen something like a spectrum that starts at "fancy REPL" to "living document" and some notable stops along the way might be Factor, Dr Racket, RStudio, MATLAB, Jupyter, Excel. While I'll still usually prefer some editor-of-choice, I find the extremes tend to be more useful (Factor and Excel) and the middle ones less interesting for "programming" and more interesting for hacking around.
@Anton I'm not sure if we have this written anywhere in the repo, but maybe we should put a doc about state and expectations around the editor. How usable is it? How stable should it be? If you want alpha testers yet. Maybe even some rough timeline estimates.
I have "Work In Porgress" mentions in multiple places but I'll elaborate and try to improve visibility :+1: .
@Anton If you wish I can do that today
Yeah sure, thanks @Zeljko Nesic !
https://github.com/rtfeldman/roc/wiki/Why-Editor%3F-Why-not-VSCode-Emacs-Vim-Notepad--%3F
Feedback welcome :)
Would it be fitting to link to something like Brett Victor's demos in the doc? I totally get what you're aiming for with the editor, but I think to someone only used to textual programming seeing how non-textual interfaces can help you is much more convincing.
Maybe there is a common pain that you already have a good idea of how to solve with the Editor. Telling that story can be really convincing too.
Yeah I think it's focusing on the fact that things haven't changed in a long time, but it would be good to expand the parts about what might be possible. Good document!
Thanks!
This actually forces me to document all the ideas that I have collected and gathered during working on design too! I've been so deep into them that it felt even redundant to communicate them.
I will work on extending the document so it includes some tasty details :)
I trimmed this down a lot to briefly answer the essence of the question and moved it to a new "Frequently Asked Questions" page on the wiki.
I saved the original text for future use: zeljko-editor.txt
Let's also link to the wiki from the README, since I didn't know the wiki existed until this discussion
I just finished going through the tutorial. I am pleasantly surprised how simple the language is and am excited to start digging into the nitty-gritty with platforms. I was able to pick up the language in about 1 hours, though this is mostly due to me coming from elm. Very happy to see pipe operators and the addition of back (I forgot the formal name, lol, this thing _ <- _
).
I did run into a few issues, however, going through the tutorial, though this is expected at this stage. At the bottom of the tutorial, there's a table of operations, specifically there is one that does not work, as it seams to be superfluous? Perhaps it could be removed. That would be the mod operator %%
. Trying to use it produces the error module Num does not export mod
.
Phantom data makes sense to me because I saw a talk from Richard about it for Elm in a preview for a course. I'm guessing it's the same thing here.
I think the tutorial should link to the relevant documents guiding the user on how to install everything. I have yet to find a document mention the Roc Editor, but I'll keep digging to find it.
The only other issue I had going through the tutorial was that I remember getting stuck on the first exapmle containing Stdin.line
because some issue kept crashing the program. However, I recalled to use roc check
before trying to run the script, which definitely halped.
Overall, very pleased with the simplicity and power of the language constructs!
Last updated: Jul 06 2025 at 12:14 UTC