The story’s score and claims

Comments on No. 16 of 109 · Denkstein · edition of Friday 6 November 2026

Do not ask "Is A a B?": Inheritance and the Is-A Trap

Summary

In an essay on Denkstein, the author argues that the "is-a" test for inheritance asks a question about English classification when the real issue is behavioral contracts. Square/Rectangle, UnitVector3 and Penguin all pass the test yet break the base type's promises. The author proposes the Liskov substitution principle plus a check on whether the two types change together. Java's unmodifiable lists are cited as a real-world case. The essay is opinion, and several historical and comparative claims are given without sources.

Comments

Ranked by a public rubric, not by votes: what a comment adds counts, not who wrote it. How comments are ranked · Comment rules