QuantumC

Welcome To The Quantum-C Documentation!

int main() {
    qbool state = both;
    qif (state) {
        qout("Quantum!\n");
    }
}

Video

NOTE:

THIS IS NOT A QCL (Quantum Computation Language)

Pages:

Getting started

Basics

Control flow

Loops

Functions

Builtins

Advanced function features

QBools

Q Control Flow

User Types

OOP

Special Methods

Inheritance

Namespaces

Multi File

Conventions

Variadics

C Interop

Inline ASM

Manual Memory Managment

Generics

Iterators

Custom Runtimes

Concepts

Defer

New Number Types

Try/Catch

‘Philosophy’

Quantum C favors clarity over convenience, and explicitness over brevity.

Non-goals

QuantumC uses the following versioning scheme: cMa.Mo.MiP Where c is critical (massive additions, such as the compiler being added), Ma being major versions, tracking large collections of features, Mo being moderate versions, tracking collections of similar features, Mi being minor versions, which track individual feature milestones within the current moderate version’s theme., and P being the patch version. For the version x1.2.34 c = x Ma = 1 Mo = 2 Mi = 3 P = 4

Critical versions represent the largest generational milestones in QuantumC’s development.

v = Interpreter x = Compiler (Current) f = Feature-complete compiler s = Self-hosted compiler

Critical versions are intentionally rare and denote architectural milestones, not language features.

Development toward future critical versions may begin before the current critical version is complete. Multiple critical generations may therefore be in development simultaneously.

Minor (Mi) is always a single decimal digit (0-9). Once a minor version reaches 9, the next release increments the moderate version instead.

Unlike semantic versioning, QuantumC versions describe the scale and category of language evolution rather than API compatibility.

Legacy Versions

All legacy v* versions are deprecated. This includes the old release line up to v12.0.0.

Current Versions

The current release line starts at x0.15.0.

Current x* versions are the non-deprecated versions going forward. For example, x1.0.0 is part of the current version line and is distinct from the old legacy v1.0.0.`