Rye is a high-level, function-centric language with no keywords, strict state handling, and rich failure values - designed for predictable, composable programs and interactive use.
Rye is shaped by a small number of strong principles rather than a large bag of features. These ideas determine how the language behaves and why it feels different.
All constructs - control flow, assignment, I/O - return a value. Code composes linearly with the pipe operator, reducing intermediate state and variable noise.
Rye has no keywords and no special forms. if, loop, fn, try, return are all built-in functions - meaning you can inspect, replace, or build your own.
Words defined with : are constants and cannot be redefined. Mutation requires a mod-word ::, which is visually explicit and intentionally costly.
Functions return a value or a Failure. Failures carry a message, type, and status code. Unhandled failures escalate to errors, forcing resolution before they cause invisible bugs.
Rye code is made of Rye values. Blocks of code can be passed, stored, combined, and introspected - without a macro system or eval quirks.
You cannot modify variables in outer or nested scopes directly. Mutation across scopes requires explicit functions ending in !, making side effects visible and intentional.
Rye compiles to a single binary. Go libraries integrate seamlessly - Rye can embed or extend any Go program as a scripting or config language.
Syntax highlighting, history, tab completion, and environment exploration tools are built into the REPL. Designed for iterative development.
Validation, Math, SQL, and HTML dialects are built-in. The same code-as-data foundation lets you build your own domain-specific languages.
Rye runs on Linux, macOS, and Windows. Also available for WASM (browser), Docker, Android, and iOS.
| Platform | x86 64-bit | ARM 64-bit | WASM |
|---|---|---|---|
| Linux v0.2.5 | ↓ download | ↓ download | ↓ wasm |
| macOS v0.2.5 | ↓ download | ↓ download | =/= |
| Windows v0.2.5 | ↓ download | / | =/= |
brew install ryelang
yay -S ryelang
docker pull ghcr.io/refaktor/rye:latest
Building from source is straightforward with Go. See the README on GitHub for instructions.
Language basics, concepts, and core components. The best starting point after these examples.
Read →