“A calculator app? Anyone could make that”
Floating point, real numbers, and computability
- Much discussion revolves around IEEE‑754’s limits: many real numbers are not representable; operations like
1e100 + 1 - 1e100ore^-1000illustrate catastrophic cancellation and underflow. - Commenters distinguish:
- Countably many computable numbers vs uncountably many reals; “almost all” reals are uncomputable.
- Proof sketches via Gödel numbering and Cantor’s diagonal argument; Chaitin’s constant appears as a canonical uncomputable number.
- Some point out that calculators only ever deal with computable, finitely describable numbers (button sequences), but you still need to manage precision and equality (e.g., knowing something is exactly 40 vs seeing 40.000… with unknown tail).
What users actually need from calculators
- One camp argues everyday users don’t care about 10⁻⁴⁰ errors; they just want “napkin math” for budgets, DIY, homework, etc.
- Others insist that even “seriously curious” users deserve correct symbolic behavior (e.g.,
sin(k·π) = 0, avoiding treating tiny nonzero values as zero) and that educational use cases justify exactness. - Several wish for calculators that explicitly track units and measurement uncertainty, propagating error rather than chasing more digits of π.
Implementation strategies: RRA, CAS, and alternatives
- The Android work (recursive real arithmetic + rationals) is praised as a practical middle ground between plain floats and full CAS: exact where possible, approximate with proofs of correctness otherwise.
- Some note similar ideas: continued fractions with Gosper-style exact arithmetic, constructive/recursive reals, interval arithmetic, and libraries like Calcium/Flint or crcalc.
- Others question why not just embed an existing CAS, arguing that complexity and speed constraints for a phone calculator might be overestimated.
State of real-world calculator apps
- Many report that popular physical and software calculators (TI, HP, Windows, Google search, various mobile apps) still fail tests like
10^100 + 1 - 10^100orsqrt(10)*sqrt(10). - There’s extensive sharing of preferred tools: Qalculate!, bc, Maxima, RealCalc, HiPER Calc, TechniCalc, TI/HP emulators, Wolfram Alpha, etc., with debates over RPN vs algebraic and the importance of keypress‑optimized workflows.
Reactions to article style and site
- Mixed response to the article’s “LinkedIn/broetry” tone and cat images: some find it fun and accessible; others find it distracting or “unserious.”
- A small subthread complains about scroll behavior and UI elements on the hosting site, while the author explains they’re using Obsidian defaults and tries to adjust.