Overview
Vela is a general-purpose, statically-checked language designed data-science-first. It blends three influences on purpose: the clean, indentation-light readability of Python; the ownership-aware safety and ahead-of-time performance of Rust; and the vectorised, statistics-native ergonomics of R. The result is a single language you can use for an exploratory analysis, the production service that ships it, and the embedded logic inside a larger product.
- Statically typed with inference - annotations where they help, not everywhere.
- Tiered memory: automatic reference counting by default, with opt-in ownership for hot paths.
- Targets native binaries, WebAssembly, and an embeddable interpreter.
- A Rust-built CLI/interpreter is the reference implementation.
Install
Vela 0.4.0 is released as both a Linux x86_64 binary and a source tarball. Download either artifact from the official artifact links and run the binary to confirm the version.
curl -fsSL https://developers.stretchgroup.ca/downloads/vela/vela-v0.4.0-linux-x86_64 -o vela-v0.4.0-linux-x86_64chmod +x vela-v0.4.0-linux-x86_64 && ./vela-v0.4.0-linux-x86_64 --versionQuick start
Create a file ending in `.vela`, then run it with the CLI. Vela reads top-to-bottom like a script but type-checks the whole program before running, so mistakes surface before your data does.
# hello.velafn main() { let name = "world" print("hello, ${name}") # data is first-class let xs = [4.0, 8.0, 15.0, 16.0, 23.0, 42.0] print("mean = ${xs.sum() / xs.len()}")}Key concepts
A few ideas carry most of Vela's design. Records and enums model your domain; `match` (with guards) handles every case exhaustively; and `Option`/`Result` plus the `?` operator make missing-and-failing values explicit instead of crashing. Dataframes and vectorised operations are part of the language, not a bolted-on library.
- Records & enums for typed domain modelling.
- Exhaustive `match` with guards - the compiler checks you handled every case.
- `Option` / `Result` + `?` for safe, explicit error and null handling.
- Vectorised numerics and first-class dataframes for analysis.
- Higher-order functions, closures, and multi-argument lambdas.
Links & status
Vela is an actively developed StretchGroup language with a working reference interpreter. The downloads page hosts the source-and-CLI tarball and the install script. Pull the latest build, run the examples, and file what you find.
Download
Install from the registry, or pull a versioned package hosted directly by StretchGroup.
Install
Download interpretercurl -fsSL https://developers.stretchgroup.ca/downloads/vela/vela-v0.4.0-linux-x86_64 -o vela-v0.4.0-linux-x86_64Bootstrapchmod +x vela-v0.4.0-linux-x86_64 && ./vela-v0.4.0-linux-x86_64 --versionDownload sourcecurl -fsSL https://developers.stretchgroup.ca/downloads/vela/vela-0.4.0-src.tar.gz -o vela-0.4.0-src.tar.gzLooking for everything in one place? See the downloads index.
