01 / detailed analysis

Semantic Compression

This historical evaluation compares how explicitly and locally the benchmark's programs communicate meaning, while retaining a separate penalty for unsupported capabilities. Four quality metrics are reconstructed from the 31 probes common to all ten retained worker records; coverage keeps all 44 probes and 88 possible points. The annotations and their comparability limits are part of the evidence, so the explanations below distinguish the published arithmetic from broader claims about language design.

Quidra’s evaluation rank
2nd of 10
Evaluation score
77.52 / 100

Recorded run · 27 September 2026. These scores evaluate Quidra v0.3.0 at 38b7137. The site’s current compiler release is v0.5.0.

Run 2026-09-27-38b7137-gh31 · Methodology reference · Published score breakdown

Run’s declared inference model: claude-sonnet-5. Any separate review stages in the archived assessments are identified in the evidence notes.

Score records belong to this run; methodology links point to a later source snapshot. Its full template hash differs from the run’s recorded template hash. The explanations distinguish verified rubric inputs and score calculations from missing original observations.

6 requirements / 0–100 scores

Per-requirement comparison

Higher is better in every row. “Best other” is the highest-scoring non-Quidra language for that requirement, with every tie included. Δ is Quidra’s score minus the best other score. Published scores.

Scroll horizontally to see every column.

All 6 Semantic Compression requirements. Select a requirement to read its evidence.
Requirement Quidra Best other Other score Δ
Semantic density 100.00 Swift 70.49 +29.51
Semantic determinacy 100.00 TypeScript, Swift 80.33 +19.67
Semantic locality 34.45 Zig 100.00 −65.55
Hidden semantic cost 81.48 Zig 100.00 −18.52
Capability efficiency 36.46 Swift 100.00 −63.54
Capability coverage 81.82 C++, Rust 98.86 −17.04

01 / metric.semantic_density

Quality component weight 20%

Semantic density

How many locally explicit semantic facts the measured syntax communicates per lexical token.

How it is measured

The published reconstruction uses min–max normalization: 100 × (raw − cohort minimum) ÷ (cohort maximum − cohort minimum). The raw calculation uses the 31 probes with a retained per-probe value in every language, from the full 44-probe universe. Score breakdown · Methodology reference.

These scores are relative to the ten-language cohort. A 100 marks the best recorded raw value in that cohort; it does not mean the language has no complexity, ambiguity, lookups or hidden behavior.

The published runner and aggregation configuration use min–max scaling. The source snapshot's scoring/constants.json describes different ratio families; those constants do not reproduce these published Semantic Compression scores.

Quidra

Quidra 0.3.0

100.00 / 100

The common-basis annotations contain 133 locally explicit facts across 808 lexical tokens. Their ratio is 0.16460396 facts per token; min–max scaling produces 100.00.

For the integer-narrowing probe F10.P1, the worker counted 5 locally explicit facts in 9 tokens. Its recorded fragment is: int32 small = int32(big) return small. This concrete declaration/conversion form contributes to the fact-per-token ratio; the overall number also includes the other common probes.

Recorded evidence
Raw value used for publication 0.16460396
Cohort minimum / maximum raw 0.09414025 / 0.16460396
Common-basis facts / tokens 133 / 808 across 31 probes

Evidence limits

These are retained worker annotations reused by the historical run. Worker-local normalized scores and support claims can differ from the reconciled publication; the displayed score always comes from the published breakdown.

Best other

Swift 6.2.3

70.49 / 100

The common-basis annotations contain 108 locally explicit facts across 751 lexical tokens. Their ratio is 0.143808256 facts per token; min–max scaling produces 70.49.

For the integer-narrowing probe F10.P1, the worker counted 5 locally explicit facts in 13 tokens. Its recorded fragment is: let small = Int32(exactly: big) ?? 0 return small. This concrete declaration/conversion form contributes to the fact-per-token ratio; the overall number also includes the other common probes.

Recorded evidence
Raw value used for publication 0.143808256
Cohort minimum / maximum raw 0.09414025 / 0.16460396
Common-basis facts / tokens 108 / 751 across 31 probes

Evidence limits

These are retained worker annotations reused by the historical run. Worker-local normalized scores and support claims can differ from the reconciled publication; the displayed score always comes from the published breakdown.

02 / metric.semantic_determinacy

Quality component weight 25%

Semantic determinacy

How many materially different interpretations remain possible from a probe's local syntax.

How it is measured

The published reconstruction uses min–max normalization: 100 × (cohort maximum − raw) ÷ (cohort maximum − cohort minimum). The raw calculation uses the 31 probes with a retained per-probe value in every language, from the full 44-probe universe. Score breakdown · Methodology reference.

These scores are relative to the ten-language cohort. A 100 marks the best recorded raw value in that cohort; it does not mean the language has no complexity, ambiguity, lookups or hidden behavior.

The published runner and aggregation configuration use min–max scaling. The source snapshot's scoring/constants.json describes different ratio families; those constants do not reproduce these published Semantic Compression scores.

Quidra

Quidra 0.3.0

100.00 / 100

The mean of log2(B) is 0 bits across 31 common probes, where B is the worker's count of compatible interpretations. Min–max inversion produces 100.00.

Every common-basis probe was annotated B = 1, so the mean log2 branching is zero.

Worker reasoning for F05.P1: Bare f(x) call: Quidra's grammar requires an explicit & at BOTH the call site and the parameter declaration for any writable or aliasing access ('Reference markers cannot be omitted or supplied to ordinary parameters', architecture.md). Absence of & at the call site alone is sufficient, without consulting f's signature, to fix that x is passed as an independent value with copy/value semantics and no retained alias -- collapsing the outcome set the spec 6.1.4.B probe is designed to expose to a single interpretation for this language.

Recorded evidence
Raw value used for publication 0
Cohort minimum / maximum raw 0 / 0.328062097
Common probes with B greater than 1 0 / 31

Evidence limits

These are retained worker annotations reused by the historical run. Worker-local normalized scores and support claims can differ from the reconciled publication; the displayed score always comes from the published breakdown.

Best other · 2 tied languages

TypeScript 7.0.2

80.33 / 100

The mean of log2(B) is 0.064516129 bits across 31 common probes, where B is the worker's count of compatible interpretations. Min–max inversion produces 80.33.

The recorded branching probes are F05.P1 (REQUIRED spec-6.1.4.B probe — ordinary bare call site f(x)): B = 4.

Worker reasoning for F05.P1: f(x) where x is an array -- JS always passes objects by shared reference (never by value, never invisible to callee). From the bare call-site syntax alone, of the 6 listed candidate outcomes, 'callee cannot observe caller's object at all' and 'a copy was made so no caller-visible change is possible' are impossible under JS's single object-passing convention; the remaining 4 (read-only use, write elements, resize/replace, retain alias beyond call) all remain compatible with the bare call-site syntax alone.

Recorded evidence
Raw value used for publication 0.064516129
Cohort minimum / maximum raw 0 / 0.328062097
Common probes with B greater than 1 1 / 31

Evidence limits

These are retained worker annotations reused by the historical run. Worker-local normalized scores and support claims can differ from the reconciled publication; the displayed score always comes from the published breakdown.

03 / metric.semantic_locality

Quality component weight 20%

Semantic locality

How much external context the submitted annotations say a reader must inspect to resolve a probe's meaning.

How it is measured

The published reconstruction uses min–max normalization: 100 × (cohort maximum − raw) ÷ (cohort maximum − cohort minimum). The raw calculation uses the 31 probes with a retained per-probe value in every language, from the full 44-probe universe. Score breakdown · Methodology reference.

Comparability limit: Quidra's worker submitted estimated whole-number summaries per probe, while Zig's worker submitted fractional averages per semantic site. The runner averaged the submitted numbers on the common probes. The numerical gap therefore includes differing annotation granularity, and cannot by itself establish that Zig requires this proportion fewer actual lookups.

These scores are relative to the ten-language cohort. A 100 marks the best recorded raw value in that cohort; it does not mean the language has no complexity, ambiguity, lookups or hidden behavior.

The published runner and aggregation configuration use min–max scaling. The source snapshot's scoring/constants.json describes different ratio families; those constants do not reproduce these published Semantic Compression scores.

Quidra

Quidra 0.3.0

34.45 / 100

The submitted lookup values sum to 17 across 31 common probes. Dividing by 31 gives 0.548387097; min–max inversion produces 34.45.

Examples of nonzero recorded contributions: F01.P1 (Immutable local binding of an integer): 1; F03.P2 (In-place element mutation of a growable sequence through a name): 1; F04.P3 (Two independently obtained handles observed to denote the same heap object): 1; F07.P1 (Fused multiply-add expression on fixed-width signed integers): 1.

The worker assigns F01.P1 one lookup for: function/statement return-type context outside the measured fragment (R5: excluded supporting context still counts as a lookup when a fact depends on it) determines the numeric literal's concrete type.

The worker assigns F17.P1 one lookup for: standard-namespace file module documentation needed to know the automatic release/cleanup contract of file.Handle, not evident from the local call syntax alone.

Recorded evidence
Raw value used for publication 0.548387097
Cohort minimum / maximum raw 0.180096774 / 0.741935484
Sum of submitted probe values / common probes 17 / 31

Evidence limits

The submitted value's granularity is part of this comparison: whole per-probe counts and per-site averages coexist in the retained worker evidence. The final score does not correct that difference.

The Quidra worker explicitly describes its lookup values as estimates of the dominant nonlocal category, rather than fully itemized counts for each semantic site.

These are retained worker annotations reused by the historical run. Worker-local normalized scores and support claims can differ from the reconciled publication; the displayed score always comes from the published breakdown.

Best other

Zig 0.16.0

100.00 / 100

The submitted lookup values sum to 5.583 across 31 common probes. Dividing by 31 gives 0.180096774; min–max inversion produces 100.00.

Examples of nonzero recorded contributions: F01.P1 (Immutable local binding of an integer): 0.25; F03.P1 (In-place increment of a scalar variable): 0.5; F03.P2 (In-place element mutation of a growable sequence through a name): 0.6; F04.P3 (Two independently obtained handles observed to denote the same heap object): 0.4.

Worker reasoning for F03.P1: 'x += 1;' with x's declaration excluded as given context: mutability and value_vs_storage each require one hop back to x's declaration (NONLOCAL, lookup=1); overflow_exceptional_numeric and externally_visible_side_effects are resolved from the fixed checked-arithmetic language rule with no lookup (0). Probe mean = (1+1+0+0)/4 = 0.5.

Worker reasoning for F05.P1: Bare call site 'f(x)' per spec 6.1.4.B: f's declaration is explicitly excluded from the fragment and counted as a non-local lookup (R5). aliasing_writable_aliasing, mutability, allocation_copy_move_borrow_destroy, control_flow_effect and externally_visible_side_effects all require consulting f's signature (lookup=1 each); value_vs_storage of x itself is local (0). Probe mean = 5/6 = 0.833, the highest-locality-cost probe in the Zig set, matching the spec's expectation that this probe measures call-site indeterminacy before consulting the callee.

Recorded evidence
Raw value used for publication 0.180096774
Cohort minimum / maximum raw 0.180096774 / 0.741935484
Sum of submitted probe values / common probes 5.583 / 31

Evidence limits

The submitted value's granularity is part of this comparison: whole per-probe counts and per-site averages coexist in the retained worker evidence. The final score does not correct that difference.

These are retained worker annotations reused by the historical run. Worker-local normalized scores and support claims can differ from the reconciled publication; the displayed score always comes from the published breakdown.

04 / metric.hidden_semantic_cost

Quality component weight 20%

Hidden semantic cost

How many material behaviors from the prescribed checklist occur without a local syntactic signal.

How it is measured

The published reconstruction uses min–max normalization: 100 × (cohort maximum − raw) ÷ (cohort maximum − cohort minimum). The raw calculation uses the 31 probes with a retained per-probe value in every language, from the full 44-probe universe. Score breakdown · Methodology reference.

These scores are relative to the ten-language cohort. A 100 marks the best recorded raw value in that cohort; it does not mean the language has no complexity, ambiguity, lookups or hidden behavior.

The published runner and aggregation configuration use min–max scaling. The source snapshot's scoring/constants.json describes different ratio families; those constants do not reproduce these published Semantic Compression scores.

Quidra

Quidra 0.3.0

81.48 / 100

The hidden-behavior counts sum to 11 across 31 common probes. Dividing by 31 gives 0.35483871; min–max inversion produces 81.48.

Examples of nonzero recorded contributions: F02.P2 (Explicitly uninitialized fixed-size buffer): 1; F03.P1 (In-place increment of a scalar variable): 1; F03.P2 (In-place element mutation of a growable sequence through a name): 1; F05.P1 (REQUIRED spec-6.1.4.B probe — ordinary bare call site f(x)): 1.

Worker reasoning for F10.P1, recorded count 1: implicit_exception_or_failure_propagation: explicit int32(big) narrowing is range-checked and fails deterministically at runtime without a locally visible error type on the cast expression itself.

Worker reasoning for F06.P1, recorded count 1: implicit_exception_or_failure_propagation: element access inside the callee can fail on bounds without that being visible in the signature.

Recorded evidence
Raw value used for publication 0.35483871
Cohort minimum / maximum raw 0.193548387 / 1.064516129
Sum of submitted probe values / common probes 11 / 31

Evidence limits

These are retained worker annotations reused by the historical run. Worker-local normalized scores and support claims can differ from the reconciled publication; the displayed score always comes from the published breakdown.

Best other

Zig 0.16.0

100.00 / 100

The hidden-behavior counts sum to 6 across 31 common probes. Dividing by 31 gives 0.193548387; min–max inversion produces 100.00.

Examples of nonzero recorded contributions: F03.P1 (In-place increment of a scalar variable): 1; F03.P2 (In-place element mutation of a growable sequence through a name): 1; F05.P1 (REQUIRED spec-6.1.4.B probe — ordinary bare call site f(x)): 1; F07.P1 (Fused multiply-add expression on fixed-width signed integers): 1.

Worker reasoning for F10.P1, recorded count 0: std.math.cast(i32, big) returns ?i32 — explicit optional-returning checked conversion.

Worker reasoning for F06.P1, recorded count 0: fn mid(xs: []const i32) i32 { return xs[1]; } — returns a copied scalar; independence is evident from the scalar return type.

Recorded evidence
Raw value used for publication 0.193548387
Cohort minimum / maximum raw 0.193548387 / 1.064516129
Sum of submitted probe values / common probes 6 / 31

Evidence limits

These are retained worker annotations reused by the historical run. Worker-local normalized scores and support claims can differ from the reconciled publication; the displayed score always comes from the published breakdown.

05 / metric.capability_efficiency

Quality component weight 15%

Capability efficiency

The recorded number of semantic complexity units per supported capability point.

How it is measured

The published reconstruction uses min–max normalization: 100 × (cohort maximum − raw) ÷ (cohort maximum − cohort minimum). Raw capability efficiency divides the submitted complexity-unit numerator by the final reconciled supported-capability points. Score breakdown · Methodology reference.

These scores are relative to the ten-language cohort. A 100 marks the best recorded raw value in that cohort; it does not mean the language has no complexity, ambiguity, lookups or hidden behavior.

The published runner and aggregation configuration use min–max scaling. The source snapshot's scoring/constants.json describes different ratio families; those constants do not reproduce these published Semantic Compression scores.

Quidra

Quidra 0.3.0

36.46 / 100

The worker recorded 132 semantic complexity units. The final support ledger awards 72 capability points, so the raw value is 132 ÷ 72 = 1.833333333 units per point. Min–max inversion produces 36.46.

For F17.P1 (Scoped file handle released on every exit path), the worker counted 2 syntax forms + 0 contextual rules + 1 implicit rules + 0 semantic exceptions = 3 complexity units. Its cited basis/fragment is: language.md file.Handle: 'closes its native file deterministically when the handle leaves its lifetime, including ... error propagation; no defer or manual cleanup is required'.

For F19.P1 (Two concurrent computations joined into one result), the worker counted 2 syntax forms + 0 contextual rules + 1 implicit rules + 1 semantic exceptions = 4 complexity units. Its cited basis/fragment is: language.md 'task.all' bounded structured concurrency, ordered int[] results.

Recorded evidence
Raw value used for publication 1.833333333
Cohort minimum / maximum raw 0.953488372 / 2.338235294
Complexity units / final supported points 132 / 72

Evidence limits

The worker's provisional formula used 73 support points. The final support ledger awards 72, which is the denominator used by the published reconstruction.

These are retained worker annotations reused by the historical run. Worker-local normalized scores and support claims can differ from the reconciled publication; the displayed score always comes from the published breakdown.

Best other

Swift 6.2.3

100.00 / 100

The worker recorded 82 semantic complexity units. The final support ledger awards 86 capability points, so the raw value is 82 ÷ 86 = 0.953488372 units per point. Min–max inversion produces 100.00.

For F17.P1 (Scoped file handle released on every exit path), the worker counted 1 syntax forms + 0 contextual rules + 0 implicit rules + 0 semantic exceptions = 1 complexity units. Its cited basis/fragment is: defer { fh.closeFile() }.

For F19.P1 (Two concurrent computations joined into one result), the worker counted 1 syntax forms + 1 contextual rules + 0 implicit rules + 0 semantic exceptions = 2 complexity units. Its cited basis/fragment is: async let a = 20; async let b = 22; let sum = await a + await b.

Recorded evidence
Raw value used for publication 0.953488372
Cohort minimum / maximum raw 0.953488372 / 2.338235294
Complexity units / final supported points 82 / 86

Evidence limits

The Swift evidence says the complexity counts came from the assessor's structured recollection of documented semantics, without live access to the official reference during annotation. This limits how strongly the apparent efficiency advantage can be interpreted.

These are retained worker annotations reused by the historical run. Worker-local normalized scores and support claims can differ from the reconciled publication; the displayed score always comes from the published breakdown.

06 / metric.capability_coverage

Capability coverage

How much of the complete language-neutral capability universe each language was credited with supporting.

How it is measured

Score = 100 × awarded capability points ÷ 88 fixed points. Each of the 44 probes is worth two points: FULL support receives two, PARTIAL one and NONE zero. Every probe remains in the coverage denominator. Score breakdown · Methodology reference.

Coverage follows the run's final support ledger. A NONE or PARTIAL label describes the exact prescribed probe, rather than a claim that every related programming task is impossible in that language.

Quidra

Quidra 0.3.0

81.82 / 100

The final ledger records 35 FULL, 2 PARTIAL and 7 NONE probes. That awards 72 of 88 capability points: 100 × 72 ÷ 88 = 81.82.

Recorded NONE probes: F05.P3: Constructing a function value that captures an enclosing local, and passing it as an argument; F09.P2: Descending sort of a sequence, plus a scalar ordering comparison; F11.P2: Sub-range of a sequence — copy or shared storage?; F14.P3: Adding a third alternative from a separate unit without editing the original; F15.P3: Heterogeneous sequence behind one abstract element type, dispatched at runtime; F17.P2: User-defined type with a deterministic end-of-lifetime cleanup hook; F20.P2: Exporting a function with C ABI and a stable unmangled symbol.

Recorded PARTIAL probes: F12.P2: Optional-preserving transformation by a locally declared function, without an explicit conditional; F18.P2: A code unit with one exported and one private item, used from outside.

Recorded evidence
Awarded / fixed capability points 72 / 88
FULL / PARTIAL / NONE probes 35 / 2 / 7

Best other · 2 tied languages

C++ 18.1.3

98.86 / 100

The final ledger records 43 FULL, 1 PARTIAL and 0 NONE probes. That awards 87 of 88 capability points: 100 × 87 ÷ 88 = 98.86.

Recorded PARTIAL probes: F12.P2: Optional-preserving transformation by a locally declared function, without an explicit conditional.

Recorded evidence
Awarded / fixed capability points 87 / 88
FULL / PARTIAL / NONE probes 43 / 1 / 0