Benchmarks

Two kinds of evidence.

There are two questions worth measuring, and we keep them separate. Structural: what does Glyph reject by construction that TypeScript accepts? That's provable today, shown below. Reliability: do agents actually ship fewer defects in Glyph than in a well-configured strict-TypeScript setup? That's the number that decides adoption, and we don't have it yet. It's a study we're building, and we won't dress up a proxy as if it were that answer. (The real comparison isn't Glyph vs naive TS; it's Glyph vs strict TS + zod + eslint + ts-pattern.)

Structural: provable by construction

Not a statistic: paired demonstrations. Each is a mistake Glyph rejects and tsc --strict accepts, reproducible from the benchmarks directory.

Verifiability: the bugs that cost you
Both caught at compile time

Two mistakes agents make constantly (a missing match variant and an unsafe cast) are rejected by Glyph and accepted by tsc --strict. Wrong code that compiles is the expensive failure. Glyph won't let it.

Greppability: one name, one place
1 match, every time

Every symbol has exactly one declaration form: no overloads, decorators, or merged namespaces to scatter it.

$ grep -n "fn welcome" main.glyph
15: fn welcome(user: User) -> Result<string, string> {
Diff stability: reviewable by default
1 line → 1 line

A one-line Glyph edit produces a one-line TypeScript diff through the transpiler, and glyph fmt adds no churn. The diff is the change, not the noise around it.

And the safety does not cost length

Tokens for the same three functions

Glyph
436
Python
435
TypeScript
478
Go
564
Rust
620

Safety usually costs length: Go and Rust, the other rows with static types and explicit error handling, are the longest. Glyph has both and is not longer for it: 436 tokens to TypeScript's 478, about 9% fewer, level with Python, about 23% fewer than Go and 30% fewer than Rust, on real cl100k_base counts of programs that pass glyph check with tsc. The lead is in the function with real control flow (parse_user, 132 to 174); on the one-line slugify Glyph is longer (67 to 47) because it has no regex literal. Three functions, a small sample. An earlier figure of 341 was measured on fixtures the compiler did not accept and is withdrawn. See the methodology and caveats →

Reliability: the study we're building

The structural results above are reasons to expect Glyph helps; they are not proof that it does. The proof is a differential study: the same agent, the same realistic tasks, written once in Glyph and once in a fully-tooled strict-TypeScript setup (tsconfig strict + typescript-eslint + ts-pattern + zod), scored on escaped semantic defects and one-shot green-build rate. That's the number five different reviewers told us would move them, so we're building it, and until it exists these bars are a placeholder, not a claim.

Escaped defects per task · lower is better · not measured yet

Glyph vs fully-tooled strict TypeScript

Glyph
pending
tooled TS
pending

The apparatus (a task corpus, a run/replay harness, and the pinned strongest-honest TS baseline) is in the benchmarks directory; the first real pilot (with its n, the model, and the cost stated on the label) publishes here the moment it runs. Whatever it shows.

Why the comparison is against tooled TS →
← Back to home