Quartz v0.1.0 β First Stable Release! π
Today marks a historic moment for the Quartz project. We're proud to announce the first stable release of the Quartz programming language. After extensive development and testing, Quartz v0.1.0 is ready for the world.
What is Quartz?
Quartz is a minimalist programming language designed for developers who value simplicity, transparency, and control. Think of it as the "Arch Linux of programming languages"βit gives you the tools without making decisions for you.
Core Features
π Dual Execution Modes
Run code directly with the interpreter for rapid prototyping, or compile to optimized bytecode for production:
# Interpret directly
./quartz script.qz
# Compile to bytecode
./quartz --compile script.qz
# Run compiled bytecode
./quartz --run script.qzb
π¦ First-Class Functions & Lambdas
Functions are values. Pass them around, store them, compose them:
import system.collection as c;
let numbers = [1, 2, 3, 4, 5];
let doubled = c.map(numbers, (x) => x * 2);
// [2, 4, 6, 8, 10]
ποΈ Clean Object-Oriented Programming
Classes, methods, inheritanceβwith a familiar, clean syntax:
class Circle {
double radius;
fn area() -> double {
return 3.14159 * radius * radius;
}
}
let c = new Circle();
c.radius = 5.0;
io.out.println("Area:", c.area());
π Native C++ Extensions
Need raw performance? Write C++ extensions that integrate seamlessly:
extern "C" void init_extension(FunctionRegistry& registry) {
registry.registerFunction("my.fastFunc",
[](std::vector<Value>& args) -> Value {
// Your high-performance code here
});
}
π‘οΈ Exception Handling
Proper try-catch-finally blocks with typed exceptions:
try {
riskyOperation();
} catch (FileError e) {
io.err.println("File error:", e.message);
} catch (NetworkError e) {
io.err.println("Network error:", e.message);
} finally {
cleanup();
}
π Comprehensive Standard Library
- system.io β Console I/O, formatted output
- system.math β Mathematical functions
- system.string β String manipulation
- system.fs β File system operations
- system.collection β map, filter, reduce, and more
- system.time β Date, time, and timing utilities
- system.json β JSON parsing and serialization
- system.env β Environment variables
Language Highlights
| Feature | Quartz v0.1.0 |
|---|---|
| Execution Modes | Interpreter + Bytecode VM |
| Typing | Dynamic with type hints |
| OOP | Classes, inheritance, methods |
| Functional | Lambdas, closures, higher-order functions |
| Exception Handling | try-catch-finally |
| Native Extensions | Full C++ API |
| Platform | Linux, macOS |
Getting Started
Getting Quartz running takes less than a minute:
# Clone the repository
git clone https://github.com/quartz-org/quartz.git
cd quartz
# Build
bash build.sh
# Run your first program
echo 'import system.io as io; io.out.println("Hello, Quartz!");' > hello.qz
./build/quartz hello.qz
Download
What's Next?
This is just the beginning. Our roadmap includes:
- JIT Compilation β Even faster execution (experimental)
- Package Manager β Share and distribute Quartz libraries
- IDE Support β VS Code extension with syntax highlighting and intellisense
- Expanded Platform Support β Windows, WebAssembly
Thank You
A huge thank you to everyone who contributed to making this release possible. Your feedback, bug reports, and code contributions have shaped Quartz into what it is today.
Quartz v0.1.0 is here. The future is minimal. β¨
Questions? Issues? Join us on GitHub!