roc/getting_started
2022-09-11 22:22:50 -06:00
..
linux_x86.md Add explanations to installation guide sections 2022-09-06 23:24:24 -06:00
macos_apple_silicon.md Add explanations to installation guide sections 2022-09-06 23:24:24 -06:00
macos_x86.md Add explanations to installation guide sections 2022-09-06 23:24:24 -06:00
other.md move Zig example 2022-08-31 14:09:34 -04:00
README.md Move helloWorld example up onto cli-platform 2022-09-11 22:22:50 -06:00
windows.md Reformat the getting started guides 2022-08-27 14:19:30 -06:00

Getting Started

Roc is a language for making delightful software. It does not have an 0.1 release yet, and we certainly don't recommend using it in production in its current state! However, it can be fun to play around with as long as you have a high tolerance for missing features and compiler bugs. :)

The tutorial is the best place to learn about how to use the language - it assumes no prior knowledge of Roc or similar languages. (If you already know Elm, then Roc for Elm Programmers may be of interest.)

There's also a folder of examples - the CLI form example in particular is a reasonable starting point to build on.

If you have a specific question, the FAQ might have an answer, although Roc Zulip chat is overall the best place to ask questions and get help! It's also where we discuss ideas for the language. If you want to get involved in contributing to the language, Zulip is also a great place to ask about good first projects.

Installation

Running Examples

You can run examples as follows:

cd examples
roc run helloWorld.roc

Some examples like examples/benchmarks/NQueens.roc require input after running. For NQueens, input 10 in the terminal and press enter.

examples/benchmarks contains larger examples.

Tip: when programming in roc, we recommend to execute ./roc check myproject/Foo.roc before ./roc myproject/Foo.roc or ./roc build myproject/Foo.roc. ./roc check can produce clear error messages in cases where building/running may panic.

Getting Involved

The number of people involved in Roc's development has been steadily increasing over time - which has been great, because it's meant we've been able to onboard people at a nice pace. (Most people who have contributed to Roc had previously never done anything with Rust and also never worked on a compiler, but we've been able to find beginner-friendly projects to get people up to speed gradually.)

If you're interested in getting involved, check out CONTRIBUTING.md!