05 · Philosophy of Language
This chapter sits in Part I, the Court of Philosophy — the fifth hearing, where philosophy asks the machine what its code, and our own speech, actually mean.
How does code mean — and how do we?
On 17 June 2016, an anonymous attacker called a function named splitDAO inside The DAO, a decentralized investment fund that had raised over $150 million in ether from thousands of contributors that spring. The function was supposed to let a member withdraw their share and then update the fund's internal ledger — but it updated the ledger after sending the funds, not before, so the attacker called it again from inside the same transaction, before the balance had changed, and kept calling it in a tight recursive loop. By the time the loop stopped, roughly 3.6 million ether — around $50 million by the day's reporting — had drained into an account the attacker controlled (Chainlink, "Reentrancy Attacks and The DAO Hack Explained"). Nothing the attacker did violated a single line of the contract's code. Every call matched every rule exactly.
Ethereum's community split over what had just happened. One faction invoked the movement's own slogan, "code is law" — a contract's terms are whatever its bytecode executes, and a transaction that follows the code to the letter cannot be theft, whatever a plain-English reading of the fund's purpose would say. The other faction held that a contract has a purpose beyond its literal text, and on 20 July 2016, at block 1,920,000, the majority forked the entire Ethereum blockchain to reverse the theft — the holdout minority who kept the original chain became Ethereum Classic (The Block, "The DAO Hack at 10"). Both camps were looking at identical bytes of source code. They disagreed about what those bytes meant.
That disagreement is philosophy of language's oldest question, arriving through customs with a shipping label that says computer science. Fifty-five years earlier, Ludwig Wittgenstein had already named the trap waiting for anyone who thinks a written rule settles its own application: "This was our paradox: no course of action could be determined by a rule, because any course of action can be made out to accord with the rule" (Philosophical Investigations §201, 1953). Saul Kripke's reading of the passage sharpens this into a skeptical challenge: nothing in a rule's text, and nothing in your past training on it, logically forces one continuation over any other of the infinitely many that "accord" with it (Kripke, Wittgenstein on Rules and Private Language, 1982). Computing built an entire discipline, formal semantics, on the bet that code was the one place this problem could finally be closed. The DAO is the place the bet came due: the reentrancy loop accorded perfectly with the contract's literal rules, and whether it violated the rule depended on an interpretation the bare text could not supply.
Formal semantics offers two rival answers to "what does this program mean," and both were built to escape exactly Wittgenstein's problem by fixing meaning so completely that no ambiguity survives. Operational semantics, in the tradition Gordon Plotkin formalized in his 1981 Aarhus lecture notes "A Structural Approach to Operational Semantics" (Plotkin, DAIMI FN-19, Aarhus University, 1981), defines a program's meaning as the sequence of machine states it produces — meaning as a trace, checkable by simulation. Denotational semantics, which Christopher Strachey and Dana Scott built at Oxford's Programming Research Group, instead assigns each program a mathematical object directly, typically a function from inputs to outputs, and handles the hard case — a loop, a recursive call — by finding the least fixed point of that function over a structured space called a domain (Scott & Strachey, "Toward a Mathematical Semantics for Computer Languages," PRG-6, 1971). Both approaches genuinely succeed at their stated job: they make what happens fully determinate. Neither one touches Wittgenstein's actual question, which was never about the machine's next state — it was about whether the state the machine reaches is the one the rule was for. That gap is exactly where the Ethereum fork fell.
Protocols answer a different question about meaning: not what a message describes, but what it does. J. L. Austin's How to Do Things with Words — delivered as the William James Lectures at Harvard in 1955, published posthumously in 1962 after his death at 48 — named these performatives: utterances that are the act, not a report of it, valid only when "felicity conditions" hold, the right speaker, the right circumstance, the right procedure in the right order (SEP, "Speech Acts"). A commit does not describe a change to a repository; it is the change. A cryptographic signature does not report that you consented; producing it is the consenting. A TCP handshake does not describe an agreement to talk; completing it opens the channel. Protocol designers were enforcing felicity conditions mechanically — a malformed handshake simply fails, the way an insincere promise fails to bind — before Austin's vocabulary for it had even reached computing.
Meaning at the level of whole sentences split into two research programs computing has now run as a fifty-year experiment. Richard Montague's "The Proper Treatment of Quantification in Ordinary English" (1973, universally cited as PTQ) tried to give English the compositional rigor Frege had given arithmetic: every syntactic rule paired with a semantic rule, a sentence's meaning built strictly from its parts via intensional logic (SEP, "Montague Semantics"). Its rival needed no logical form at all. J. R. Firth's 1957 line — a word is known "by the company it keeps" — built on Zellig Harris's distributional hypothesis to found distributional semantics: a word's meaning just is the statistical shape of its neighboring words. Tomáš Mikolov and colleagues made that idea computationally cheap in 2013 with word2vec, and every large language model since has inherited the bet whole (Mikolov et al., "Efficient Estimation of Word Representations in Vector Space," arXiv:1301.3781, 2013). For four decades computing funded Montague's structure-first program; the last decade switched almost entirely to Firth's context-first one — and the switch produced fluent machines built on a theory of meaning with no place in it for a proposition.
Which is the test an LLM actually runs on philosophy of language, and the verdict splits. Wittgenstein's later view — "the meaning of a word is its use in the language" (Philosophical Investigations §43) — looks vindicated by a model that has never touched a referent and still produces sentences no fluent speaker would flag as wrong. But Stevan Harnad named the missing piece in 1990, before any of this was built: a system that manipulates symbols by their shapes and their relations to other symbols alone, never anchored to what the symbols are about, is stuck trying to learn Chinese from a Chinese–Chinese dictionary — perfect internal coherence, zero contact with the world (Harnad, "The Symbol Grounding Problem," Physica D 42, 1990). The large language model is the best evidence a pure use-theory of meaning has ever been handed, and the clearest working model of exactly what grounding critics warned an ungrounded use-theory would look like.
Connections
Chapter 01 supplies the logical apparatus — Frege's quantifiers — that both Montague and denotational semantics depend on. Chapter 02 returns to the type/token question this chapter only brushes: is a smart contract's deployed bytecode the same thing as its Solidity source? Chapter 04 runs the same grounding argument through the Chinese Room, and chapter 13 tests it against machines trained on nothing but text. Chapter 12 shows what happens when "the code says what it means" is pushed furthest — a proof assistant, where the rules really do settle every case.
Open questions
If formal semantics can specify a program's behavior completely and still leave open what the program was for, has it solved Wittgenstein's problem, or only changed which question gets answered? Did distributional semantics win because it is a better theory of meaning, or because it is the theory computers could finally afford to run at scale? And if an ungrounded system passes every behavioral test of understanding, what work is "grounding" still doing, beyond naming a discomfort?
Go deeper
- Ludwig Wittgenstein, Philosophical Investigations, trans. G. E. M. Anscombe, Blackwell, 1953 — §§138–242 is the rule-following argument this chapter borrows.
- Richard Montague, "The Proper Treatment of Quantification in Ordinary English," in Approaches to Natural Language, ed. Hintikka, Moravcsik & Suppes, Reidel, 1973, pp. 221–242 (PTQ), read against Tomáš Mikolov, Kai Chen, Greg Corrado & Jeffrey Dean, "Efficient Estimation of Word Representations in Vector Space," arXiv:1301.3781, 2013 — the two theories of meaning computing actually tried, forty years apart.
- Stanford Encyclopedia of Philosophy, "Montague Semantics" — the standing account of where formal and natural-language semantics meet.