Hacker ApprovedDepartments

TLA+

Hacker Approved

Specification language in Developer tools

Lets people precisely model concurrent and distributed systems and catch design bugs before coding. Common caveat: harsh syntax and models that drift from the real code.

Lets people precisely model concurrent and distributed systems and catch design bugs before coding. Common caveat: harsh syntax and models that drift from the real code.

93 people gave an opinion

recommend it
74
criticize it
19
approval share
80%
Each figure is one person. RecommendsCriticizes

Recommended in 12 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Owned for 7 months

Median of the 5 owners who said how long they have had it.

Each square is one year.

Why it carries the badge

  • 74 people recommend itNeeds 10 or more, met.
  • 3.9 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 12 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Precise models of distributed systems

    “TLA+ (minus the temporal operators) would be still extremely useful for specifying the behavior of concurrent and distributed systems”

    Comment from 17 Dec 2025 in “AI will make formal verification go mainstream”

    “the advantage of something like TLA+ is that the specs can generally be more abstract and as such the checks can be more exhaustive”

    Comment from 30 Jul 2026 in “Why Don't People Use Formal Methods?”

    “TLA+ is a great way to model certain systems mathematically, because precision in meaning is a great quality”

    Comment from 13 Dec 2025 in “50 years of proof assistants”
  • Catches bugs before code ships

    “Running TLA+ via coding agents became a productivity hack for me to quickly catch invariant breaks”

    Comment from 7 Apr 2026 in “Show HN: Hazmat – I made unrestricted Claude Code safe on macOS”

    “I was able to find and prevent a catastrophic bug by pointing Opus armed with TLA+ at the problem.”

    Comment from 27 Sep 2026 in “The internet discovers TLA+. Now what?”

    “adding formal verification surfaced 33 classes of bugs, some of which had several instances.”

    Comment from 27 Sep 2026 in “The internet discovers TLA+. Now what?”
  • Clearer thinking about systems

    “TLA+ gave me new prespective towards debugging, and started treating system crashes as a state problems rather than just code errors.”

    Comment from 18 Dec 2025 in “Ask HN: How did you learn to debug production incidents?”

    “If you're after a language that's OSS, has terse notation, and rewires your brain by helping you think more clearly”

    Comment from 24 May 2026 in “Mastering Dyalog APL”

    “TLA+ is much closer to what I'd recommend if what you want is clearer thinking about programs, systems and state.”

    Comment from 24 May 2026 in “Mastering Dyalog APL”
  • Helps LLM agents write correct code

    “LLM agents have none of the attentional and motivational constraints of humans so there's no reason not to do things the right way.”

    Comment from 19 Jan 2026 in “Gas Town Decoded”

    “I view a complete TLA+ specification as a kind of metalanguage that can be used with LLMs to generate code from.”

    Comment from 19 May 2026 in “Intro to TLA+ for the LLM Era: Prompt Your Way to Victory”

    “the act of writing a TLA+ model helps the frontier LLMs to write correct executable code”

    Comment from 16 Aug 2026 in “The Case Against Formal Verification, 50 Years Later”

What people warn about

Each mark is one comment

  • Harsh learning curve and syntax

    “the accessibility of TLA+, if you come from traditional programming languages, is quite harsh”

    Comment from 17 Dec 2025 in “TLA+ Modeling Tips”

    “It has super weird syntax, and a whole separate DSL (PlusCal) to give it workable syntax for programs.”

    Comment from 30 Sep 2026 in “What TLA+ can and can't check”

    “It sounds like the syntax just sucks and there's no way to get around it.”

    Comment from 19 May 2026 in “Intro to TLA+ for the LLM Era: Prompt Your Way to Victory”
  • Spec drifts from actual code

    “in most cases there is no validation if the TLA+ model actually maps to the e.g. C code that was written”

    Comment from 7 Jan 2026 in “Formal Methods Only Solve Half My Problems”

    “It is a headache to write TLA+ and keep the independent spec up2date with the productive code.”

    Comment from 26 Nov 2025 in “Cloudflare outage should not have happened”

    “Problem with TLA+ is that it is a completely unrelated tool to the actual programming”

    Comment from 3 Nov 2025 in “Reproducing the AWS Outage Race Condition with a Model Checker”
  • Weak at atomics and some properties

    “another thing TLA+ isn't great at is modeling atomics and in particular weak-memory semantics”

    Comment from 30 Sep 2026 in “What TLA+ can and can't check”

    “Not really, some components like components have a lot of properties that’s very difficult to modelize.”

    Comment from 17 Dec 2025 in “AI will make formal verification go mainstream”

What people recommend instead

The same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

TLA+ compared with 1 alternative
ProductRecommendCriticizeApprovalMonthsOwnedBadge
TLA+This page741980%127 mo5 ownersApproved
Quint100100%7—Approved

What people said

40 of the 129 comments that mention it, newest first. Each links to the original comment.

“Sitting down and formally writing what I want to do helps me better understand the problem”

RecommendsComment from 23 Oct 2026 in “The foolishness of "natural language programming" (1978)”

“It doesn't fully close the specification gap but if it could be made robust it might be a good tool.”

MixedComment from 1 Oct 2026 in “What TLA+ can and can't check”

“a single continuum, with a language that's much simpler than both Eiffel's spec language and its program language”

RecommendsComment from 1 Oct 2026 in “The internet discovers TLA+. Now what?”

“It has super weird syntax, and a whole separate DSL (PlusCal) to give it workable syntax for programs.”

CriticizesComment from 30 Sep 2026 in “What TLA+ can and can't check”

“another thing TLA+ isn't great at is modeling atomics and in particular weak-memory semantics”

MixedComment from 30 Sep 2026 in “What TLA+ can and can't check”

“TLA+ is much simpler than a programming language and obeys simple and intuitive substitution rules”

RecommendsComment from 27 Sep 2026 in “The internet discovers TLA+. Now what?”

“adding formal verification surfaced 33 classes of bugs, some of which had several instances.”

RecommendsComment from 27 Sep 2026 in “The internet discovers TLA+. Now what?”

“I love TLA+ to describe systems precisely yet succinctly and reason about them”

RecommendsComment from 27 Sep 2026 in “The internet discovers TLA+. Now what?”

“I was able to find and prevent a catastrophic bug by pointing Opus armed with TLA+ at the problem.”

RecommendsComment from 27 Sep 2026 in “The internet discovers TLA+. Now what?”

“the act of writing a TLA+ model helps the frontier LLMs to write correct executable code”

RecommendsComment from 16 Aug 2026 in “The Case Against Formal Verification, 50 Years Later”

“formal methods was considered more impactful during software design rather than as software verification”

RecommendsComment from 30 Jul 2026 in “Why Don't People Use Formal Methods?”

“the advantage of something like TLA+ is that the specs can generally be more abstract and as such the checks can be more exhaustive”

RecommendsComment from 30 Jul 2026 in “Why Don't People Use Formal Methods?”

“I have been able to budget myself a day or two to model some of the less-obvious bits of concurrency.”

RecommendsComment from 30 Jul 2026 in “Why Don't People Use Formal Methods?”

“Something like TLA+[1] and Quint[2] specifications can be verified for correctness using Apalache[3].”

RecommendsComment from 28 May 2026 in “Creusot helps you prove your Rust code is correct”

“TLA+ is much closer to what I'd recommend if what you want is clearer thinking about programs, systems and state.”

RecommendsComment from 24 May 2026 in “Mastering Dyalog APL”

“If you're after a language that's OSS, has terse notation, and rewires your brain by helping you think more clearly”

RecommendsComment from 24 May 2026 in “Mastering Dyalog APL”

“It sounds like the syntax just sucks and there's no way to get around it.”

CriticizesComment from 19 May 2026 in “Intro to TLA+ for the LLM Era: Prompt Your Way to Victory”

“I view a complete TLA+ specification as a kind of metalanguage that can be used with LLMs to generate code from.”

RecommendsComment from 19 May 2026 in “Intro to TLA+ for the LLM Era: Prompt Your Way to Victory”

“ask your agent to verify critical protocols with formal proof in TLA+/lean/coq”

RecommendsComment from 12 May 2026 in “If AI Writes Your Code, Why Use Python?”

“TLA+ models are cheap now. You should be using them when writing any sort of distributed systems”

RecommendsComment from 14 Apr 2026 in “Lean proved this program correct; then I found a bug”

“Running TLA+ via coding agents became a productivity hack for me to quickly catch invariant breaks”

RecommendsComment from 7 Apr 2026 in “Show HN: Hazmat – I made unrestricted Claude Code safe on macOS”

“Use tla+ and have it go back and forth with you to spec out your system behavior”

RecommendsComment from 5 Apr 2026 in “Eight years of wanting, three months of building with AI”

“TLA+ or Lean as a targeted debugging tool for those specific pain points is genuinely practical now”

RecommendsComment from 17 Mar 2026 in “Mistral Releases Leanstral”

“the bug was found in seconds, total time to fix from idea to commit - about 15 mins”

RecommendsComment from 17 Mar 2026 in “Mistral Releases Leanstral”

“This is what makes literate programs (and TLA+ specs) conceptually crisp and easily communicable.”

RecommendsComment from 23 Feb 2026 in “The Tears of Donald Knuth”

“it has been very helpful AFTER I REALIZED that quite often it was proving things that were either trivial or irrelevant”

MixedComment from 21 Feb 2026 in “Lean 4: How the theorem prover works and why it's the new competitive edge in AI”

“Point the user^W dev towards better "tools of thought" that decouple problem-refinements from solutions.”

RecommendsComment from 26 Jan 2026 in “AI Destroys Institutions”

“LLM agents have none of the attentional and motivational constraints of humans so there's no reason not to do things the right way.”

RecommendsComment from 19 Jan 2026 in “Gas Town Decoded”

“in most cases there is no validation if the TLA+ model actually maps to the e.g. C code that was written”

CriticizesComment from 7 Jan 2026 in “Formal Methods Only Solve Half My Problems”

“a comparison to proofs in lean by comparison to TLA+ even though it is not Lamport's personal project”

MixedComment from 21 Dec 2025 in “How to Write a 21st Century Proof (2011) [pdf]”

“TLA+ gave me new prespective towards debugging, and started treating system crashes as a state problems rather than just code errors.”

RecommendsComment from 18 Dec 2025 in “Ask HN: How did you learn to debug production incidents?”

“Not really, some components like components have a lot of properties that’s very difficult to modelize.”

CriticizesComment from 17 Dec 2025 in “AI will make formal verification go mainstream”

“I used it to give me the sequence of events that would cause a message to be lost”

RecommendsComment from 17 Dec 2025 in “TLA+ Modeling Tips”

“the accessibility of TLA+, if you come from traditional programming languages, is quite harsh”

MixedComment from 17 Dec 2025 in “TLA+ Modeling Tips”

“TLA+ (minus the temporal operators) would be still extremely useful for specifying the behavior of concurrent and distributed systems”

RecommendsComment from 17 Dec 2025 in “AI will make formal verification go mainstream”

“TLA+ is a great way to model certain systems mathematically, because precision in meaning is a great quality”

MixedComment from 13 Dec 2025 in “50 years of proof assistants”

“It is a headache to write TLA+ and keep the independent spec up2date with the productive code.”

CriticizesComment from 26 Nov 2025 in “Cloudflare outage should not have happened”

“I was delighted at the time at the degree to which Iulian was able to specify the protocol in TLA+”

RecommendsComment from 8 Nov 2025 in “Making Democracy Work: Fixing and Simplifying Egalitarian Paxos”

“The problem is afaict there's no way to insert a TLA+ oracle into e.g. a rust proptest suite.”

MixedComment from 3 Nov 2025 in “Reproducing the AWS Outage Race Condition with a Model Checker”

“Problem with TLA+ is that it is a completely unrelated tool to the actual programming”

CriticizesComment from 3 Nov 2025 in “Reproducing the AWS Outage Race Condition with a Model Checker”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.