cd /news/developer-tools/zamin-a-scripting-language-with-a-ru… · home topics developer-tools article
[ARTICLE · art-65152] src=dev.to ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Zamin: A Scripting Language with a Rust-Based Bytecode VM and GPU-Accelerated ML

A developer built Zamin, a scripting language with a Rust-based interpreter, register-based bytecode VM, and mark-and-sweep garbage collector. The language features closures, pattern matching, string interpolation, and a module system, with a built-in CLI toolchain. Benchmarks show Zamin outperforms Python in tight integer loops but lags in string and list-heavy code.

read2 min views1 publishedJul 19, 2026

I've spent the last several months building Zamin, a scripting language with a Rust-based interpreter, a register-based bytecode VM, and a mark-and-sweep garbage collector. I wanted to share it here and get feedback from people who actually build languages and runtimes.

Repo: https://github.com/young-developer90/zamin (MIT licensed)

I wanted something in the same territory as Python for everyday scripting -- closures, pattern matching, string interpolation, a real module system -- but compiled to bytecode instead of tree-walked, with a project/CLI toolchain built in from day one rather than bolted on later.

func fibonacci(n) {
    if n <= 1 { return n; }
    return fibonacci(n - 1) + fibonacci(n - 2);
}
for i in 0..10 { print(f"fib({i}) = {fibonacci(i)}"); }

The pipeline is fairly conventional: lexer -> parser -> AST -> compiler -> bytecode -> VM. A few things I focused on:

OP_ADD_INT_IMM

) that skip boxing and type checks for the common case.Benchmarked against Python 3 (wall-clock, same machine):

Benchmark Zamin Python 3 Ratio
Recursive fib(32) 1.51s 0.35s 4.3x slower
Integer loop (5M ops) 0.47s 0.53s 0.9x -- faster than Python
String concat (100K) 3.14s 0.23s 13.4x slower
List push (500K) 0.13s 0.09s 1.5x slower

Tight integer loops are Zamin's strongest case. String and list-heavy code still lags CPython -- that's an open problem I'm actively working on, not something I'm hiding.

luna

(Linux/GTK4) and sol

(Windows)cv

modulelinum

) with a small PyTorch-style API -- Sequential

, Linear

, Adam

, CrossEntropyLoss

-- that runs against CUDA when availablepy.import("numpy")

with automatic type marshalling)zamin::execute_source

, zamin::execute_file

)zamin run

, zamin repl

, zamin fmt

, zamin test

, zamin build

, zamin new

git clone https://github.com/young-developer90/zamin.git
cd zamin
cargo build --release
./target/release/zamin run examples/hello.zamin

Requires Rust 1.80+.

Docs (with a getting-started guide, full language reference, and stdlib reference) are at https://young-developer90.github.io/zamin/ -- also translated into Farsi and Japanese.

I'd genuinely appreciate feedback, especially on the VM design and where the string/list performance gap is likely coming from. Happy to answer questions in the comments.

── more in #developer-tools 4 stories · sorted by recency
── more on @zamin 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/zamin-a-scripting-la…] indexed:0 read:2min 2026-07-19 ·