Skip to content

ChromiaProject/rell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,071 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

REPL

./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!