A collection of links to awesome roc things.
The Roc compiler is being rewritten from Rust to Zig. This list now tracks projects that work with the new Zig-based compiler. Projects that haven't been migrated yet have moved to LEGACY_ROC.md β that file doubles as a checklist of what still needs porting. Migrating a package or platform is a great way to help out!
New here? Richard Feldman's writeup on the Rust β Zig compiler rewrite explains why it's happening and what it changes.
- Repository roc-lang/roc
- Download Roc roc-lang/nightlies releases β prebuilt nightly builds of the latest compiler
- Building From Source official guide
- Tutorial docs/mini-tutorial-new-compiler.md β interim "mini" tutorial for the new compiler (a full rewrite is planned)
- Language Reference docs/langref β new-compiler reference (not yet complete or on the website, but very helpful)
- Syntax Reference test/echo/all_syntax_test.roc β a single file demonstrating the new syntax
- Exercism Track exercism.org/tracks/roc β migration in progress (PR #198 β 92+ exercises ported & passing)
- Dockerhub hub.docker.com/repositories/roclang
The roc-lang.org website (Examples, Tutorial, Docs) still documents the old compiler and is yet to be updated β for now use the new-compiler mini-tutorial and syntax reference above.
- roc-lang/http: HTTP client
- roc-lang/path: OS filesystem path manipulation
- roc-lang/unicode: Unicode text processing (grapheme clusters, code points)
- lukewilliamboswell/roc-ansi: ANSI escape codes for color, styling & cursor control
- lukewilliamboswell/roc-parser: Parser Combinators
- kili-ilo/roc-random: Random number generation
- niclas-ahden/roc-base64: Base64 encoding and decoding
- niclas-ahden/roc-crc32: CRC32 checksum calculation
- niclas-ahden/roc-human-readable-file-size: Format your file sizes
- niclas-ahden/roc-maybe: Ergonomic optional values (note before using)
- niclas-ahden/roc-xml: Simple XML generation
- jwoudenberg/roc-gregorian: Working with dates and times
- roc-lang/basic-cli: CLI apps (WIP PR #413)
- roc-lang/basic-webserver: Webservers (WIP PR #163)
- lukewilliamboswell/basic-ssg: Static Site Generation (WIP PR #16)
- lukewilliamboswell/roc-wasm4: WASM-4 Games
- lukewilliamboswell/roc-ray: Graphics and GUI using Raylib
- lukewilliamboswell/roc-platform-template-zig: Zig platform template
- lukewilliamboswell/roc-platform-template-rust: Rust platform template
- faldor20/tree-sitter-roc: Tree-sitter grammar (updated for the new syntax) β also powers Helix & Neovim
- h2000/zed-roc: Zed editor support, using the new grammar & LSP
- roc-lang/setup-roc: GitHub Action to install Roc β supports new-compiler nightlies (
version: nightly-new-compiler) - thebrandonlucas/roc-overlay: A Nix flake to easily install Roc new-compiler nightlies
- π lukewilliamboswell/aoc: Advent of Code puzzle solutions
Looking for the older ecosystem (everything not yet migrated to the new compiler)? See LEGACY_ROC.md.