Welcome to Raven¶
Raven is a modern programming language built with Rust, combining the best features of Rust, Python, C++, Java, and Go. It's designed to be fast, safe, expressive, and simpleβwithout compromising power or performance.
π Why Raven?¶
- π₯ Fast like C++ - Built with Rust for maximum performance
- π‘οΈ Memory-safe like Rust - No garbage collection overhead
- π§ Readable like Python - Clean, intuitive syntax
- π§± Scalable like Java - Robust type system
- π― Simple like Go - Easy to learn and use
β¨ Key Features¶
Professional CLI Interface¶
# Execute files (Python-style)
raven hello.rv
# Interactive REPL
raven
# Type-check only (parse + types; no run)
raven hello.rv -c
# Optional: project helper (init, run, fmt)
rvpm init my_app && cd my_app && rvpm run
rvpm fmt
Modern Language Features¶
- Static Typing - Type safety without complexity
- Structs & Enums - User-defined data structures
- Struct Methods - OOP-style methods via
implblocks - Modules - Import/export system
- Standard Library - Comprehensive built-in functions
- VS Code Support - Full syntax highlighting and IntelliSense
Rich Type System¶
// Basic types
let name: string = "Raven";
let version: int = 1;
let isActive: bool = true;
// Arrays
let numbers: int[] = [1, 2, 3, 4, 5];
// Structs
struct Person {
name: string,
age: int,
isActive: bool
}
// Enums
enum HttpStatus {
OK,
NotFound,
InternalError
}
π¦ Installation¶
Windows Installer¶
Download the latest MSI from GitHub Releases.
VS Code Extension¶
Install the Raven language extension from the VS Code Marketplace.
Build from Source¶
π― Quick Start¶
- Install Raven using the Windows installer
- Create a file
hello.rv:fun main() -> void { print("Hello, Raven!"); } main(); - Run it:
raven hello.rv - Try the REPL:
raven
π Documentation¶
- Language Reference - Complete syntax guide
- Standard Library - Built-in functions and modules
- rvpm and formatting -
rv.toml,rvpm fmt,[fmt] - Examples - Sample programs and tutorials
- VS Code Extension - Development environment setup
π€ Community¶
- GitHub: martian56/raven
- Issues: Report bugs and request features
- Discussions: Ask questions and share ideas
π What's Next?¶
The current toolchain includes the interpreter, type checker, rvpm scaffolding (init, run, fmt), and optional [fmt] settings in rv.toml. Planned work includes:
- Bytecode VM or compiled backend
- Advanced type system (generics, traits)
- Concurrency (async/await)
- Full rvpm package install / registry
- Language server protocol (LSP)
Ready to start coding with Raven? Check out our Getting Started Guide!