Category: Logic

How Spread Syntax Breaks Javascript
I haven’t looked at the mailing lists and drafts, so I’m not sure who came up with the brilliantlyawful spread syntax (not operator) that’s made its way into ES6 and is being used liberally by React, Redux, Vue, and many others, but… seriously? Ecmascript has been making strides in the “serious language for serious things” […]

Gödel’s Second Incompleteness Theorem for Programmers
In the previous blog post in this series, we looked at Gödel’s First Incompleteness Theorem, and came to the amazing conclusion that we can’t compute certain kinds of functions in formal systems (like Javascript). Specifically, we looked at a special function, , which turned out to be noncomputable. In case we forgot, the first incompleteness […]

Gödel’s First Incompleteness Theorem for Programmers
Gödel’s incompleteness theorems have been hailed as “the greatest mathematical discoveries of the 20th century” — indeed, the theorems apply not only to mathematics, but all formal systems and have deep implications for science, logic, computer science, philosophy, and so on. In this post, I’ll give a simple but rigorous sketch of Gödel’s First Incompleteness […]

How to prove there is no Universe
Years ago, when I first read Paul Halmos’ seminal Naive Set Theory, I was blown away by how easy it was to prove that there is no universe. In fact, not even three sections in, he drops this italicized bombshell: $$nothing\text{ }contains\text{ }everything$$ or, “more spectacularly,” he continues $$there\text{ }is\text{ }no\text{ }universe$$ Luckily, we only […]

PEP 308 and why I still hate Python
I’m not a Python guy, but it seems that every job I’ve had has slowly pushed me into doing more and more Python until I end up doing nothing but Python all day. And I hate doing Python all day. To be fair, Python isn’t terrible, but throughout its lifetime, it made some incredibly poor […]