Documentation
Welcome to the Quartz programming language documentation. Quartz is a minimalist language designed for developers who value simplicity, transparency, and control.
📚 New to Quartz? Start with the Getting Started Guide to get up and running in minutes.
Documentation Overview
🚀 Getting Started
Install Quartz, set up your environment, and write your first program.
Start Here →Quick Example
Here's a taste of what Quartz code looks like:
import system.io as io;
import system.math as math;
import system.collection as c;
// Define a class
class Calculator {
string name;
fn add(a: int, b: int) -> int {
return a + b;
}
fn power(base: double, exp: double) -> double {
return math.pow(base, exp);
}
}
// Create and use an instance
let calc = new Calculator();
calc.name = "MyCalc";
io.out.println("Calculator:", calc.name);
io.out.println("5 + 3 =", calc.add(5, 3));
io.out.println("2^8 =", calc.power(2.0, 8.0));
// Work with collections
let numbers = [1, 2, 3, 4, 5];
let doubled = c.map(numbers, (x) => x * 2);
io.out.println("Doubled:", doubled);
Key Features
- Dual Execution: Interpret directly or compile to bytecode
- Familiar Syntax: C-like curly brace syntax that's easy to learn
- Modern OOP: Classes, methods, inheritance, and more
- First-Class Functions: Lambdas, closures, higher-order functions
- Exception Handling: Try-catch-finally with typed exceptions
- Modular Design: Namespace-based imports with aliases
- Extensible: Write native C++ extensions easily
Philosophy
Quartz follows the principle of minimal magic. Like Arch Linux, we believe in:
- Simplicity: No hidden behavior or implicit conversions
- Transparency: Understand exactly what your code does
- User Control: You decide what's in your runtime
- Minimalism: Small core, composable pieces
Read more about our design philosophy.
Getting Help
- GitHub Issues - Report bugs and request features
- GitHub Discussions - Ask questions and share ideas
- Contributing Guide - Help improve Quartz