---
title: "People get confused when language implementations break language guarantees"
url: https://daily.dev/posts/people-get-confused-when-language-implementations-break-language-guarantees-qtgxbupr6
source_url: https://buttondown.com/hillelwayne/archive/people-get-confused-when-language-implementations
type: article
source: "Computer Things"
published: 2026-06-17T11:26:24.442Z
updated: 2026-06-17T11:33:44.955Z
tags: ["python"]
reading_time: 5
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# People get confused when language implementations break language guarantees

**[Computer Things](https://daily.dev/sources/hillelwayne)** · 5 min read · 0 upvotes · 0 comments

## Summary

When language implementations add escape hatches or effectful operators that violate the language's formal semantics, developers get confused. Using TLA+ as the primary example, the post explores how TLC (the model checker) breaks TLA+'s guarantee of statement non-ordering: effectful operators like PrintT and Assert execute with side effects even when a guard clause would later discard the state, producing ghost outputs. The core issue is that these guarantee-breaking operators are syntactically indistinguishable from safe ones, unlike pragmas or preprocessors in compiled languages. The phenomenon generalizes to other declarative languages — Prolog cuts, backreferences in regex, ordered choice in grammars — wherever the operational model leaks through the declarative abstraction.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://buttondown.com/hillelwayne/archive/people-get-confused-when-language-implementations>

## Similar posts on daily.dev

- [Intro to TLA\+ for the LLM Era: Prompt Your Way to Victory](https://daily.dev/posts/intro-to-tla-for-the-llm-era-prompt-your-way-to-victory-h8swpmvy2) · Hacker News · 0 upvotes · 0 comments
- [Tautological assertions are not always caused by aliasing](https://daily.dev/posts/tautological-assertions-are-not-always-caused-by-aliasing-fzipsnwvm) · ploeh blog · 0 upvotes · 0 comments
- [LLMs Will Cheese Your Types: Fighting Back in Haskell](https://daily.dev/posts/llms-will-cheese-your-types-fighting-back-in-haskell-kijbcouyh) · Planet Haskell · 0 upvotes · 0 comments
- [Nondeterminism's not the problem](https://daily.dev/posts/nondeterminism-s-not-the-problem-pvu9jlh8e) · Lobsters · 1 upvotes · 0 comments

---

Tags: [#python](https://daily.dev/tags/python)

[View this post on daily.dev](https://daily.dev/posts/people-get-confused-when-language-implementations-break-language-guarantees-qtgxbupr6)
