Skip to content

Latest commit

 

History

History
 
 

getting_started

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

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 crates/cli_testing_examples/benchmarks/NQueens.roc require input after running. For NQueens, input 10 in the terminal and press enter.

crates/cli_testing_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!

If you're interested in substantial implementation- or research-heavy projects related to Roc, check out Roc Project Ideas!