Skip to content

martian56/raven

Raven Logo

A modern programming language built with Rust.
Fast, safe, expressive, and easy to read.

CI Status Latest Release License VS Code Extension

Documentation · Website · Releases · Issues

Why Raven

  • Compiled to native machine code through Cranelift, into a single static binary.
  • Static typing with generics, traits, and sum types checked by an exhaustive match.
  • A tracing garbage collector and Result/Option instead of null.
  • Goroutines and channels for concurrency, and a C FFI for native libraries.
  • A package manager (rvpm), one canonical formatter, and a VS Code extension.

Quick Example

struct User {
    name: String,
    age: Int,
}

fun greet(user: User) -> String {
    return "Hello ${user.name}, you are ${user.age}"
}

fun main() {
    let u = User { name: "Raven", age: 2 }
    print(greet(u))
}

Install

Download the installer or archive for your platform from the releases page:

  • Linux: .deb, .rpm, or .tar.gz
  • Windows: .msi or .zip

This installs the raven compiler and the rvpm package manager and adds them to your PATH. Compiling a program also needs a C linker on your machine (the MSVC build tools on Windows, cc/clang on Linux).

Quick Start

# Compile a source file to a native binary
raven build hello.rv -o hello
./hello

Project workflow with rvpm:

rvpm init my_app
cd my_app
rvpm run          # builds and runs src/main.rv
rvpm fmt          # format the .rv sources

Build from source

For contributors, or to track the latest commit:

git clone https://github.com/martian56/raven.git
cd raven
cargo build --release

The raven and rvpm binaries land in target/release/.

Learn More

Technologies Used

Rust TypeScript GitHub Actions Docker

Star History

Star History Chart

Repo Activity

Raven Repo Activity

Contributors

Contributors

Community

License

MIT License. See LICENSE.

GitAds Sponsored

Sponsored by GitAds

About

Raven is a new systems and application programming language designed to combine the performance and control of C++, the safety and modern features of Rust, the readability of Python, the structure of Java, and the simplicity of Go.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors