Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lukewilliamboswell/roc-awesome

Awesome Roc and other things
https://github.com/lukewilliamboswell/roc-awesome

List: roc-awesome

roc-lang

Last synced: about 2 months ago
JSON representation

Awesome Roc and other things

Awesome Lists containing this project

README

        

# Roc Awesome 🤘

A collection of links to awesome roc things.

- **Repository** [roc-lang/roc](https://github.com/roc-lang/roc)
- **Examples** [roc-lang/examples](https://github.com/roc-lang/examples)
- **Tutorial** [roc-lang.org/tutorial](https://www.roc-lang.org/tutorial)
- **Documentation** [roc-lang.org/docs](https://www.roc-lang.org/docs)
- **Building From Source** 🏗ī¸ [official guide](https://github.com/roc-lang/roc/blob/main/BUILDING_FROM_SOURCE.md)
- **Dockerhub** [hub.docker.com/repositories/roclang](https://hub.docker.com/repositories/roclang)
- **Packages Index (Unnoficial)** [hasnep.github.io/roc-packages](https://hasnep.github.io/roc-packages/)

Some of the links below are 🚧 **Work In Progress** 🚧 so please keep this in mind and offer your assistance where you can.

## Roc Packages đŸ“Ļ
- [roc-lang/unicode](https://github.com/roc-lang/unicode): Official Unicode
- [agu-z/roc-pg](https://github.com/agu-z/roc-pg): PostgreSQL
- [bhansconnect/roc-msgpack](https://github.com/bhansconnect/roc-msgpack): MessagePack 🚧
- [Hasnep/roc-ascii](https://github.com/Hasnep/roc-ascii): ASCII string and character types
- [Hasnep/roc-math](https://github.com/Hasnep/roc-math): Math and constants
- [Hasnep/roc-html](https://github.com/Hasnep/roc-html): HTML
- [Hasnep/roc-svg](https://github.com/Hasnep/roc-svg): SVGs
- [Hasnep/roc-datetimes](https://github.com/hasnep/roc-datetimes): Dates and times
- [Hasnep/roc-linear-algebra](https://github.com/Hasnep/roc-linear-algebra): Linear algebra library for small vectors and matrices
- [imclerran/Roc-IsoDate](https://github.com/imclerran/Roc-IsoDate): ISO-8601 Datetimes
- [imclerran/roc-openrouter](https://github.com/imclerran/roc-openrouter): OpenRouter.ai API
- [jwoudenberg/rvn](https://github.com/jwoudenberg/rvn): A serialization format based on Roc syntax.
- [KilianVounckx/roc_regex](https://github.com/KilianVounckx/roc_regex): Regex
- [KilianVounckx/crisp](https://github.com/KilianVounckx/crisp): Web framework middleware (proof of concept)
- [lukewilliamboswell/roc-random](https://github.com/lukewilliamboswell/roc-random): Random number generation
- [lukewilliamboswell/roc-json](https://github.com/lukewilliamboswell/roc-json): JSON Encoding and Decoding
- [lukewilliamboswell/roc-parser](https://github.com/lukewilliamboswell/roc-parser): Parser Combinators
- [lukewilliamboswell/roc-ansi](https://github.com/lukewilliamboswell/roc-ansi) Helpers for pretty Terminal UI, ANSI Codes, Colors
- [lukewilliamboswell/roc-glue-code-gen](https://github.com/lukewilliamboswell/roc-glue-code-gen): Hlpers for generating roc glue
- [smores56/weaver](https://github.com/smores56/weaver) Ergonomic CLI Argument Parsing
- [smores56/roc-semver](https://github.com/smores56/roc-semver) Semver 2.0.0 parsing and match checking
- [mulias/roc-array2d](https://github.com/mulias/roc-array2d) 2D Arrays
- [quelgar/roc-utils](https://github.com/quelgar/roc-utils): Utils for Hex, Base64, Sha, Hmac
- [shritesh/roc-image](https://github.com/shritesh/roc-image): Image library with PNG export.
- [Subtlesplendor/roc-data](https://github.com/Subtlesplendor/roc-data): Helpful types like Stack, Queue, Bag
- [Subtlesplendor/roc-parser](https://github.com/Subtlesplendor/roc-parser): Port of Elm's Parser library

## Roc Tools 🛠ī¸
- [isaacvando/rtl](https://github.com/isaacvando/rtl): An HTML template language for Roc with compile time validation and tag unions.

## Roc Platforms đŸĸ
- [roc-lang/basic-cli](https://github.com/roc-lang/basic-cli): CLI apps
- [roc-lang/basic-webserver](https://github.com/roc-lang/basic-webserver): Webservers
- [bhansconnect/roc-fuzz](https://github.com/bhansconnect/roc-fuzz): Fuzzing
- [isaacvando/roc-aws-lambda](https://github.com/isaacvando/roc-aws-lambda): AWS Lambda (See also [roc-aws-lambda-runtime](https://github.com/isaacvando/roc-aws-lambda-runtime) for a pure Roc implementation.)
- [lukewilliamboswell/basic-ssg](https://github.com/lukewilliamboswell/basic-ssg): Static Site Generation
- [lukewilliamboswell/roc-wasm4](https://github.com/lukewilliamboswell/roc-wasm4): WASM-4 Games 🕹ī¸
- [lukewilliamboswell/roc-ray](https://github.com/lukewilliamboswell/roc-ray): Graphics and GUI using Raylib
- [ostcar/kingfisher](https://github.com/ostcar/kingfisher): Webservers without SQL
- [tarkah/roc-iced](https://github.com/tarkah/roc-iced): GUI Applications
- [adomurad/r2e-platform](https://github.com/adomurad/r2e-platform): E2E testing

*Templates & Embedding/Interop Examples* đŸ—ē
- [Zig platform template](https://github.com/lukewilliamboswell/roc-platform-template-zig)
- [Rust platform template](https://github.com/lukewilliamboswell/roc-platform-template-rust)
- [Go platform template](https://github.com/lukewilliamboswell/roc-platform-template-go)
- [Swift platform template](https://github.com/lukewilliamboswell/roc-platform-template-swift)
- [C platform template](https://github.com/lukewilliamboswell/roc-platform-template-c)
- [Python interop](https://github.com/roc-lang/roc/tree/main/examples/python-interop)
- [Ruby interop](https://github.com/roc-lang/roc/tree/main/examples/ruby-interop)
- [NodeJs interop](https://github.com/roc-lang/roc/tree/main/examples/nodejs-interop)
- [Java interop](https://github.com/roc-lang/roc/tree/main/examples/jvm-interop)

## Tooling 🛠ī¸

- [faldor20/tree-sitter-roc](https://github.com/faldor20/tree-sitter-roc): Tree-sitter grammar
- [Hasnep/setup-roc](https://github.com/Hasnep/setup-roc): Github action to install Roc
- [Hasnep/bundle-roc-library](https://github.com/Hasnep/bundle-roc-library): Github action to bundle packages
- [vendrinc/roc-npm](https://github.com/vendrinc/roc-npm/): NPM package to install roc
- [dkuku/asdf-roc](https://github.com/dkuku/asdf-roc): ASDF package for managing Roc versions
- [JRMurr/roc2nix](https://github.com/JRMurr/roc2nix): Nix library for building Apps & Platforms
- [roc-lang docker](https://github.com/roc-lang/roc/tree/main/docker): Dockerfiles for roc
- [appblue/rocup](https://github.com/appblue/rocup): Roc compiler installation/managemetn tools
- [imclerran/roc-start](https://github.com/imclerran/roc-start): CLI tool for initializing Roc applications.

*Editors*
- [Tree-sitter Grammar](https://github.com/faldor20/tree-sitter-roc): also Helix, Neovim
- [VS Code](https://marketplace.visualstudio.com/items?itemName=IvanDemchenko.roc-lang-unofficial)
- [Zed](https://github.com/h2000/zed-roc)
- [Kakoune](https://github.com/evanrelf/roc.kak)
- [Emacs](https://gitlab.com/tad-lispy/roc-mode)

## Roc Applications 💾

- [bhansconnect/monkey-roc](https://github.com/bhansconnect/monkey-roc): [Monkey lang](https://monkeylang.org) đŸĩ interpreter
- [Billzabob/roc-lox](https://github.com/Billzabob/roc-lox): [Lox lang](https://craftinginterpreters.com/contents.html) interpreter
- [Hasnep/brainroc](https://github.com/Hasnep/brainroc): [BF](https://en.wikipedia.org/wiki/Brainfuck) interpreter
- [isaacvando/gob](https://github.com/isaacvando/gob): Compiler for a stack-based language
- [lukewilliamboswell/roc-htmx-playground](https://github.com/lukewilliamboswell/roc-htmx-playground): Fullstack Web App using HTMX
- [lukewilliamboswell/roc-htmx-tailwindcss-demo](https://github.com/lukewilliamboswell/roc-htmx-tailwindcss-demo): Fullstack Web App using HTMX, Tailwindcss, and RTL
- [raymyers/roc-lisp](https://github.com/raymyers/roc-lisp): LISP interpreter
- [jared-cone/roctris](https://github.com/jared-cone/roctris): Tetris clone that runs in the terminal
- [shritesh/raytrace.roc](https://github.com/shritesh/raytrace.roc): Implementing [Ray Tracing in One Weekend](https://raytracing.github.io)
- [WhileTruu/counter-roc-swiftui-app](https://github.com/WhileTruu/counter-roc-swiftui-app): SwiftUI counter app

## Other

🎄🎁🎄 [Advent of Code template](https://github.com/lukewilliamboswell/aoc-template) and [my attempts at AoC](https://github.com/lukewilliamboswell/aoc)

## Experiments 🔭
- [roc-lang/virtual-DOM](https://github.com/roc-lang/roc/tree/main/examples/virtual-dom-wip): Virtual DOM with SSR
- [ostcar/roc-wasi-platform](https://github.com/ostcar/roc-wasi-platform): WASI
- [vendrinc/roc-esbuild](https://github.com/vendrinc/roc-esbuild): esbuild plugin for loading `.roc` files.
- [ostcar/roc-wasm-platform](https://github.com/ostcar/roc-wasm-platform): WASM modules
- [bhansconnect/roc-microbit](https://github.com/bhansconnect/roc-microbit): Microbit embedded processor
- [JanCVanB/roc-plotters](https://github.com/JanCVanB/roc-plotters): Drawing with Plotters
- [lukewilliamboswell/roc-gui](https://github.com/lukewilliamboswell/roc-gui): GUI apps
- [lukewilliamboswell/roc-tui](https://github.com/lukewilliamboswell/roc-tui): Terminal UI platform
- [lukewilliamboswell/roc-graphics-mach](https://github.com/lukewilliamboswell/roc-graphics-mach): Graphics platform using hexops/mach-core
- [lukewilliamboswell/roc-cgi-server](https://github.com/lukewilliamboswell/roc-cgi-server): CGI HTTP server using basic-cli apps
- [lukewilliamboswell/roc-serverless](https://github.com/lukewilliamboswell/roc-serverless): HTTP handlers for WASM workers