Welcome to the New Quartz Website! ๐
Welcome to the New Quartz Website! ๐ We're thrilled to launch the official Quartz programming language website! This mar…
Read moreQuartz is a minimalist programming language for those who value simplicity, transparency, and control. No magic. No bloat. Just you and your code.
import system.io as io;
import system.math as math;
class Greeter {
string name;
fn greet() {
io.out.println("Hello,", name);
}
}
let greeter = new Greeter();
greeter.name = "World";
greeter.greet();
// Functional style with lambdas
let numbers = [1, 2, 3, 4, 5];
for (i in numbers) {
io.out.println("โ" + i + " =", math.sqrt(numbers[i]));
}
Like Arch Linux, Quartz follows a simple philosophy: keep it simple, keep it transparent, keep it yours. We don't make decisions for you. We don't hide complexity behind magic. We give you the tools, and you build exactly what you need.
No implicit behavior. No hidden magic. What you write is what runs. Every line of code does exactly what it says.
Full visibility into the runtime. Inspect bytecode, trace execution, understand exactly how your code works under the hood.
Your code, your rules. Extend the language with native C++ extensions. Build the standard library you want.
Small core, big possibilities. The runtime is lean. Dependencies are few. Startup is instant.
Quartz gives you modern language features without the framework weight
Run code directly with the interpreter for rapid development, or compile to bytecode for optimized execution. Switch modes with a single flag.
# Interpret directly
./quartz script.qz
# Compile and run bytecode
./quartz --compile-run script.qz
Functions are values. Lambdas are natural. Pass them around, store them, compose them. No special syntax, no ceremony.
let transform = (x) => x * 2;
let nums = [1, 2, 3];
let doubled = c.map(nums, transform);
// [2, 4, 6]
Classes, methods, fields, inheritanceโall with a familiar syntax inspired by Java and modern languages. No getters/setters boilerplate.
class Circle {
double radius;
fn area() -> double {
return 3.14159 * radius * radius;
}
}
Need performance? Write C++ extensions that integrate seamlessly with Quartz. Full access to the type system and runtime.
extern "C" void init_extension(
FunctionRegistry& reg) {
reg.registerFunction("my.func",
[](auto& args) { /* ... */ });
}
Proper try-catch-finally blocks with typed exceptions. Handle errors gracefully, not through cryptic return codes.
try {
throw new ValueError("Oops");
} catch (ValueError e) {
io.out.println(e.message);
} finally {
cleanup();
}
Namespace-based module system with aliases. Import only what you need. No global pollution.
import system.io as io;
import system.math as math;
import system.string as str;
io.out.println(str.uppercase("hi"));
Automate tasks with a language that starts instantly and doesn't require a massive runtime environment.
Quickly test ideas with the interpreter, then compile to bytecode when performance matters.
Embed Quartz in your C++ applications as a scripting layer. Clean API, predictable behavior.
Understand how languages work. Quartz's codebase is readable, well-documented, and designed to teach.
git clone --branch development https://github.com/quartz-org/quartz
cd quartz
bash build.sh
// hello.qz
import system.io as io;
io.out.println("Hello, Quartz!");
let name = "Developer";
io.out.println("Welcome,", name);
./build/quartz hello.qz
# Output:
# Hello, Quartz!
# Welcome, Developer
Stay updated with releases and announcements
Welcome to the New Quartz Website! ๐ We're thrilled to launch the official Quartz programming language website! This mar…
Read moreQuartz v0.1.0 โ First Stable Release! ๐ Today marks a historic moment for the Quartz project. We're proud to announce th…
Read moreQuartz is open source and community-driven