// readme

Quadrate

A stack-based language that compiles to native code via LLVM.

For users: see https://quad.r8.rs for documentation, tutorials, and the online playground.

Building

Requires: Meson, Ninja, C++20 compiler (Clang recommended), LLVM 14+

make debug          # Debug build
make release        # Optimized build
make tests          # Run test suite (1838 tests)
make format         # Format C/C++ source

Platform dependencies

Arch Linux: pacman -S meson clang ninja llvm readline openssl

Debian/Ubuntu: apt install clang llvm-dev meson ninja-build libreadline-dev libssl-dev pkg-config

Alpine: apk add bash clang clang-dev compiler-rt llvm-dev meson musl-dev readline-dev openssl-dev pkgconf

Build outputs

dist/bin/           Binaries (quad, quadc, quadfmt, quadlint, quadlsp, quadpm, quadrepl, quaduses, quaddoc, quadmcp)
dist/lib/           Shared libraries (libqdrt.so, libqd.so)
dist/lib/quadrate/  Static libraries for embedding
dist/include/       C/C++ headers for embedding
dist/share/         Standard library modules, completions, API docs

Project structure

cmd/                Command-line tools (quad, quadc,โ€ฆ