Rell is the relational blockchain programming language for Chromia. It combines a SQL-like data model with a statically typed, imperative syntax, and compiles against a PostgreSQL-backed runtime.
The canonical repository is hosted on GitLab: gitlab.com/chromaway/rell. The GitHub repository is a read-only mirror — please file issues and merge requests on GitLab.
- Documentation: https://docs.chromia.com/rell/rell-intro
- API reference: https://docs.chromia.com/pages/rell/index.html
- Release notes: https://gitlab.com/chromaway/rell/-/tree/dev/doc/release-notes
- Chromia documentation: https://docs.chromia.com/
- Java 21
- Docker — for PostgreSQL and Testcontainers-based integration tests
| Command | Description |
|---|---|
./gradlew assemble |
Compile and package all JARs |
./gradlew build |
Assemble and run all tests (requires PostgreSQL and Docker) |
./gradlew clean |
Clean build outputs |
./gradlew installRellDist |
Install the Rell runtime to rell-tools/build/install/rell-dist/ |
./work/rell.shRell 0.16.0-SNAPSHOT
Type '\q' to quit or '\?' for help.
>>> 2+2
4
>>> range(10) @* {} (@sum $)
45
>>>
Create hello.rell:
module;
function main() {
print('Hello, world!');
}
Run it (pass the parent directory of hello.rell via -d):
./work/rell.sh -d . hello mainHello, world!