int main() {
qbool state = both;
qif (state) {
qout("Quantum!\n");
}
}
Quantum C favors clarity over convenience, and explicitness over brevity.
Quantum C is not trying to do ‘hand-holding’ or be beginner - friendly.
It is designed to be used, taught, and to teach — and this can be verified directly:
simply pass -a -tkn -r before any input file to see the compiler output that demonstrates all three.
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.
All legacy v* versions are deprecated. This includes the old release line up to v12.0.0.
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.`