A modern programming language built with Rust.
Fast, safe, expressive, and easy to read.
Documentation · Website · Releases · Issues
- 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/Optioninstead ofnull. - Goroutines and channels for concurrency, and a C FFI for native libraries.
- A package manager (
rvpm), one canonical formatter, and a VS Code extension.
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))
}Download the installer or archive for your platform from the releases page:
- Linux:
.deb,.rpm, or.tar.gz - Windows:
.msior.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).
# Compile a source file to a native binary
raven build hello.rv -o hello
./helloProject workflow with rvpm:
rvpm init my_app
cd my_app
rvpm run # builds and runs src/main.rv
rvpm fmt # format the .rv sourcesFor contributors, or to track the latest commit:
git clone https://github.com/martian56/raven.git
cd raven
cargo build --releaseThe raven and rvpm binaries land in target/release/.
- Full docs: https://martian56.github.io/raven/
- Project website: https://raven.ufazien.com/
- Getting started: https://martian56.github.io/raven/v2/guide/getting-started/
- Language reference: https://martian56.github.io/raven/v2/guide/language-reference/
- Standard library: https://martian56.github.io/raven/v2/guide/standard-library/
- Contributing guide: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security policy: SECURITY.md
MIT License. See LICENSE.
