The article examines how IEEE-754 NaN values expose implicit assumptions in programming language designs, specifically regarding reflexivity and loop termination. It details two case studies: Python's list equality optimization relying on identity checks, and Lua's numerical for-loop logic failing to handle NaN correctly.
Background
IEEE-754 defines NaN (Not a Number) as a special floating-point value resulting from undefined operations like 0/0, which violates standard mathematical properties such as reflexivity.
- Source
- Lobsters
- Published
- Jul 9, 2026 at 04:23 PM
- Score
- 5.0 / 10