| Crates.io | rustx_core |
| lib.rs | rustx_core |
| version | 0.5.0 |
| created_at | 2025-12-13 02:19:21.448153+00 |
| updated_at | 2025-12-27 13:20:20.987095+00 |
| description | A clean, minimal scripting language that seamlessly integrates with Rust |
| homepage | https://github.com/GrandpaEJx/RustX |
| repository | https://github.com/GrandpaEJx/RustX |
| max_upload_size | |
| id | 1982458 |
| size | 237,842 |
A clean, minimal scripting language that seamlessly integrates with Rust.
# Linux/macOS - One-line installer
curl -sSL https://raw.githubusercontent.com/GrandpaEJx/RustX/main/install.sh | bash
# Or download manually from GitHub Releases
# https://github.com/GrandpaEJx/RustX/releases/latest
See INSTALL.md for detailed installation instructions.
cargo install --git https://github.com/GrandpaEJx/RustX rustx
rustx examples/basic.rsx
# Compile a script to a standalone executable
rustx build examples/basic.rsx --output my_app
# Run the compiled binary
./my_app
rustx repl
name = "World"
print(`Hello, {name}!`)
{var} interpolationRustX runs in two modes:
| Mode | Speed | Requires Rust | Use Case |
|---|---|---|---|
| Interpreter | Fast startup | ❌ No | Most scripts, prototyping |
| JIT Compiler | ~6x faster than Node.js | ✅ Yes | Performance-critical code |
Interpreter mode is the default - just run rustx script.rsx and it works immediately!
JIT compilation is only needed for:
rust {} blocks (embedded Rust code)rust_import statements (native dependencies)x = 42 // Integer
pi = 3.14 // Float
name = "Alice" // String
active = true // Boolean
items = [1, 2, 3] // Array
name = "Bob"
age = 25
print(`My name is {name} and I'm {age} years old`)
// String methods
"hello world".upper() // HELLO WORLD
" trim me ".trim().lower() // trim me
// Array methods
[1, 2, 3].len() // 3
// Math methods
3.14.round() // 3
(-42).abs() // 42
fn greet(name) {
`Hello, {name}!`
}
fn add(a, b) => a + b // Arrow function
// If expression
result = if age >= 18 { "Adult" } else { "Minor" }
// Loops
for i in range(5) {
print(i)
}
while x < 10 {
x = x + 1
}
New! Explicit imports for better performance:
// Import only what you need
use json
use os
// Now use the modules
data = json.parse(`{"name": "Alice"}`)
path = os.env("HOME")
Benefits:
Available modules: json, http, os, time, web, fs, term
Build high-performance web servers with built-in modules:
use web
rust {
// Force JIT compilation
}
import web
import json
let app = web.app()
fn home(body, debug) {
return web.json({
"name": "RustX API",
"version": "1.0.0",
"status": "running"
})
}
fn add(body, debug) {
let data = json.parse(body)
let result = data["a"] + data["b"]
return web.json({"sum": result})
}
app.get("/", home)
app.post("/add", add)
app.listen(8080, false, 4)
Performance: 67k RPS (100 connections), 57k RPS (1000 connections)
You can import Rust crates and write raw Rust code:
use crate "rand" = "0.8"
rust {
fn get_random() -> Result<Value, String> {
let n: i64 = rand::random::<u8>() as i64;
Ok(Value::Int(n))
}
}
print("Random:", get_random())
Core: print, range, len, type, push, pop
String: split, join, trim, upper, lower
Math: abs, min, max, floor, ceil, round
Standard Library Modules:
web - Build web servers and APIsjson - Parse and serialize JSONtime - Timestamps and delayshttp - HTTP client requestsos - Environment and CLI argsuse rustx_macros::rx;
fn main() {
let result: i64 = rx! { "10 + 20 * 2" };
println!("Result: {}", result); // Result: 50
}
Check out the examples/ directory:
basic.rsx - Variables, functions, arraysloops.rsx - For and while loopsrecursion.rsx - Recursive functionstemplate_strings.rsx - Template string interpolationmethod_chaining.rsx - Method chaining with dot operatorstring_math.rsx - String and math functionsrust_imports.rsx - Importing crates and embedding Rustweb_server.rsx - Running an Actix-web serverRustX/
├── crates/
│ ├── core/ # Language core (lexer, parser, interpreter)
│ ├── macros/ # rx! and rsx! macros
│ └── cli/ # Command-line interface
├── examples/ # Example scripts
└── docs/ # Documentation
Q: Is RustX faster than Python?
A: The interpreter is generally slower than CPython, but the compiler (which compiles to native Rust) can be significantly faster, especially for loop-heavy code.
Q: Can I use crates.io libraries?
A: Yes! As of v0.3.0, you can use use crate "name" = "version" to import crates directly into your scripts. RustX detects this and JIT-compiles your script to a native Rust binary.
Q: Does RustX support classes/structs?
A: Not yet. We support Maps and Functions for data structure and logic.
Contributions welcome! Please read our contributing guidelines.
MIT License - see LICENSE file for details.
Made with ❤️ in Rust