Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,230 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rell Programming Language

pipeline status coverage report latest tag license: GPLv3

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.

Links

Requirements

  • Java 21
  • Docker — for PostgreSQL and Testcontainers-based integration tests

Build

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/

Run

Try Rell with chr (latest release)

Install the Chromia development environment (or just the chr CLI) as described in: https://docs.chromia.com/get-started/installation

Then start the REPL from the latest released Rell via:

chr repl

This path uses the published release directly.

REPL

This command runs from your local checkout and may take longer because it builds the repo locally.

./work/rell.sh
Rell 0.16.0-SNAPSHOT
Type '\q' to quit or '\?' for help.
>>> 2+2
4
>>> range(10) @* {} (@sum $)
45
>>>

Execute a program

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 main
Hello, world!

Releases

Contributors

Languages