nowfound

Life & fun · June 26, 2017

“Crafting Interpreters” chapter, control flow and Turing-completeness

“Crafting Interpreters” chapter, control flow and Turing-completeness launched on June 26, 2017 with 116 votes, #359 of 3,107 launches that month and more than 95% of that year's launches. The site was still online in September 2026, 9 years on.

In plain words

Crafting Interpreters" is a chapter-based guide on control flow in programming language design. It explains how adding control flow structures enables an interpreter to become Turing-complete, allowing programs to perform varying amounts of work without requiring proportionally longer source code. The chapter teaches readers how to move their interpreter from a simple calculator to a functional programming language capable of loops and conditionals.

written from the facts on this page · September 2026

From the sources

Logic, like whiskey, loses its beneficial effect when taken in too large quantities. Compared to last chapter’s grueling marathon, today is a lighthearted frolic through a daisy meadow. But while the work is easy, the reward is surprisingly large. Right now, our interpreter is little more than a calculator. A Lox program can only do a fixed amount of work before completing. To make it run twice as long you have to make the source code twice as lengthy. We’re about to fix that. In this chapter, our interpreter takes a big step towards the programming language major leagues: Turing-completeness . In the early part of last century, mathematicians stumbled into a series of confusing…from craftinginterpreters.com

Does a similar job

all alternatives →
  • Open Interpreter2023 · openinterpreter.com · ▲182

    Control your computer with natural language

  • IW
    I wrote a technical history book on LispFeb 2026 · berksoft.ca · ▲252

    The book page links to a blog post that explains how I got about it (and has a link to sample content), but the TL&DR is that I could not find a lot of books that were on "our" history _and_ were larded with technical details. So I set about writing one, and some five years later I'm happy to share the result. I think it's one of the few "computer history" books that has tons of code, but correct me if I'm wrong (I wrote this both to tell a story and to learn :-)). My favorite languages are Smalltalk and Lisp, but as an Emacs user, I've been using the latter for much longer and for my…

  • A small programming language where everything is pass-by-valueJan 2026 · github.com · ▲91

    This is a hobby project of mine that I started a few years ago to learn about programming language implementation. It was created 95% without AI, although a few recent commits include code from Gemini CLI. I started out following Crafting Interpreters, but gradually branched off that until I had almost nothing left in common. Tech stack: Rust, Cranelift (JIT compilation), LALRPOP (parser). Original title: "A small programming language where everything is a value" (edited based on comments)

  • Maybe Haskell2015 · books.thoughtbot.com · ▲60

    See what it’s like to program in a language without null.

More life & fun this month

the category →

Source: Show HN post ↗

Launched alongside, June 2017

the whole month →