
<div class="callout callout-info"><p><strong>Vary is a language for building confidence in software.</strong></p></div>

Software is changing. More code will be written with AI assistance, automation, and agents. That does not make confidence less important. It makes it more important, because generating software was never the hard part. Knowing whether it deserves trust is.

Vary exists for that problem.

It is a programming language where readability, testing, and measurement are built in from the start. The goal is a practical middle ground: stronger checking than most application languages offer, without the annotation burden of formal verification.

Vary is being built to help software prove itself.

## How Vary builds confidence

| Area | Why it matters |
|------|---------------|
| Readable syntax | Code still has to be understood, reviewed, and maintained by humans |
| Static typing | Common mistakes should fail early instead of surfacing in production |
| Contracts | Assumptions and guarantees should be explicit and executable |
| Built-in testing | Verification should be a native part of the language workflow |
| Mutation testing | Passing tests is not enough; tests should have to prove they are strong |
| Integrated tooling | Confidence weakens when checking, testing, formatting, and mutation are fragmented |
| AI-aware workflows | Generated code should earn trust before it ships |

## Why this matters now

For years, many teams treated "the tests passed" as a strong signal. In practice, that was often weaker than it looked. Tests can pass while proving very little. They can exercise code paths without actually defending behaviour, creating the appearance of safety without much real protection.

AI makes that problem worse.

AI tools generate code quickly. They also generate shallow tests quickly. More software gets produced faster, while confidence in that software erodes. Vary is built in response to that gap.

## Where Vary fits

Vary sits in the space most teams actually need.

Most languages and workflows leave too much unchecked and rely on discipline and convention. Full formal verification goes further but asks for more rigour and complexity than most teams will accept.

Vary is in the middle: practical correctness tools with high leverage.

| Instead of this | Vary pushes toward this |
|----------------|------------------------|
| "The code compiles, so ship it" | "The behaviour was meaningfully checked" |
| "The tests passed, so it must be fine" | "The tests proved they can detect faults" |
| Optional quality tooling | Confidence built into the normal workflow |
| AI-generated code accepted at face value | AI-generated code forced through stronger validation |
| Confidence based on habit | Confidence based on evidence |

## Who Vary is for

Developers who care about correctness and refactoring safety. Teams that want better guardrails around AI-assisted development. People who already know that a green build is not the same thing as real confidence.

## The idea behind Vary

Readable code matters, and strong checks should be normal rather than bolted on from a pile of external tools. Most teams need more than ordinary testing but do not need theorem proving. In the AI era, a language should help justify trust in code, not just help write it.

## Who created Vary?

[Curtis Collicutt](https://collicutt.net) created Vary to explore programming language creation and mutation testing in the age of AI-assisted coding.

---

For more information, see the [docs](/docs/) and [FAQ](/docs/faq/).
