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!