07 Jun 23

When we—as people—inhabit the physical world, the laws of physics, chemistry, biology, sociology, and even of governments help us by providing constraints against which our actions can gain leverage to get things done. Software obeys few laws—computability is an important limitation, but it sets only a fairly abstract bar for feasibility. Types provide other laws, but so far they have not enabled the breakthroughs in programming language design we need to be able to construct reliable, resilient ultra large scale systems.