Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2,326 Commits

Repository files navigation

Rell Programming Language

pipeline statuscoverage reportlatest taglicense: 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

CommandDescription
./gradlew assembleCompile and package all JARs
./gradlew buildAssemble and run all tests (requires PostgreSQL and Docker)
./gradlew cleanClean build outputs
./gradlew installRellDistInstall 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!

About

The Rell Programming Language.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages