RuneWay is a programming language written in Rust, with syntax inspired by Rust, Python, and JavaScript.
- Comments (
//,/* */) - Variables and Types (
let,int,float,string,bool,null) - Binary and Unary Operations
- String Interpolation (
f"...",r"...",fr"...") - Logic and Loops (
if,while,for,loop) - Functions (
act name() {}) - Static type annotations (
x: int) - Static type annotations in functions (
act f(x: int) -> int) - Constants (
const PI: float = 3.14)
- Lexer (out: Tokens)
- Parser (out: AST. Based on: Recursive Descent + Pratt) - in progress
- IR generator (out: IR)
- Semantic Checker
- Optimizer
- Bytecode generator (out: Stack-based bytecode)
- Register-based VM
- Native console out (
print,println) - Native console in (
input) - Primitive Types (
int,string,bool, ...)
- Module System (Imports:
import some_module::some_submodule) - std::buffered
- std::http
- std::json
- std::itertools
- std::random
- std::decimal
- std::math
- std::files
- std::time
- std::mem
- Method calls (
a.iter()) - User-defined structs
- Contracts
- Error reporter (Rust like)
- User-defined Error Throwing
To be continued...
To be continued...
We welcome your issues about bugs, ideas, or suggestions.
- Telegram: @voiris
- Telegram Channel: Потёмки Войриса
- Github: github.com/Voiris
MIT License. See LICENSE for details.