The Rock Programming Language
A practical guide to learning Rock, from your first expression to generic functional abstractions and systems programming.
Rock is a statically typed, expression-oriented language with significant indentation. It combines algebraic data types, pattern matching, traits, ownership and borrowing, first-class functions, user-defined operators, and a system-programming core.
This book assumes that you have programmed before. You do not need experience with Rust, Haskell, or another functional language. When Rock uses an unfamiliar idea, the book introduces the motivation before the syntax.
Rock is under active development. This book describes the language implemented in this repository, calls out current limitations, and avoids compiler-only mechanisms that ordinary programs should not use.
Use the left and right arrow keys to move between pages, press S to focus search, or use the chapter list in the sidebar.