🚀 Quick Start

Get Started with Quartz

From zero to running code in under 5 minutes. No complicated setup, no hidden dependencies.

01

Requirements

🔧

CMake 3.20+

Build system for compiling Quartz from source

⚙️

C++17 Compiler

Clang 7+ or GCC 8+ recommended

📦

Git

For cloning the repository

🐧

Linux / macOS

Windows support coming soon

02

Installation

1

Install Dependencies

Ubuntu / Debian
sudo apt update
sudo apt install cmake g++ git
Fedora / RHEL
sudo dnf install cmake gcc-c++ git
Arch Linux
sudo pacman -S cmake gcc git
2

Clone & Build

git clone --branch development https://github.com/franieri/quartz.git
cd quartz
bash build.sh
3

Verify Installation

./build/quartz --version
# Quartz v0.5.0
1

Install Xcode Command Line Tools

xcode-select --install
2

Install CMake via Homebrew

# Install Homebrew if you haven't
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install CMake
brew install cmake
3

Clone & Build

git clone --branch development https://github.com/franieri/quartz.git
cd quartz
bash build.sh
4

Verify Installation

./build/quartz --version
# Quartz v0.5.0
1

Clone the Repository

git clone --branch development https://github.com/franieri/quartz.git
cd quartz
2

Build with CMake

# Using the build script (recommended)
bash build.sh

# Or manually with CMake
mkdir -p build && cd build
cmake ..
make -j$(nproc)
💡 Build Options:
Clean rebuild: bash build.sh --clean
Verbose output: bash build.sh --verbose
Debug build: cmake -DCMAKE_BUILD_TYPE=Debug ..
3

Verify Installation

./build/quartz --version
# Quartz v0.5.0
03

Your First Program

hello.qz
import system.io as io;

io.out.println("Hello, Quartz!");

let name = "World";
io.out.println("Welcome to Quartz,", name);

// Let's do some math!
let numbers = [1, 2, 3, 4, 5];
let sum = 0;
for (i in numbers) {
    sum = sum + numbers[i];
}
io.out.println("Sum:", sum);
Output
$ ./build/quartz hello.qz
Hello, Quartz!
Welcome to Quartz, World
Sum: 15
04

Execution Modes

Fast Iteration

Interpreted Mode

Run code directly for rapid development and prototyping. No compilation step needed.

./quartz script.qz
🚀
Production

Bytecode Mode

Compile to bytecode for optimized execution. Best for production use.

# Compile only
./quartz --compile script.qz

# Compile and run
./quartz --compile-run script.qz

# Run compiled bytecode
./quartz script.qzb

Need Help?

Join our community and get support from other Quartz developers.