A calculator that doesn't round

(constructive-calculator.dimview.org)

26 points | by dimview 3 days ago

8 comments

  • __alexs 1 hour ago
    > Hans Boehm built a Java library for this in the 1980s and 90s

    Hans is such a prolific programmer that he wrote a Java library before Java was even invented?

    • tomjakubowski 1 hour ago
      The article has so many of the hallmarks of LLM writing, naturally it will have some hallucinated factoids too. "What that gives you: [bullet list]", "What got ported: [bullet list]", "foo: x, y, just z"

      Boehm's Java library has copyright dates of 1999 and 2001-2004. https://www.hboehm.info/new_crcalc/CR.java

      The whitepaper was only published in 2005: https://www.sciencedirect.com/science/article/pii/S156783260...

      I have a dimview now of the blog, and of this Swift port of the library, indeed.

    • nxobject 57 minutes ago
      Well, you know, you go into your Smalltalk-80 workstation for a hack sesh, and an all-nighter later you end up with an implementatkon of Swing...
  • bla3 1 hour ago
    > I built one, by porting Boehm’s engine. > It’s 2026, so I didn’t hand-write the port. I directed Opus 4.8 to translate the source line by line into Swift

    I wish I could filter out stuff like this. Cool work by Hans Boehm, but what's the value add in this blog post.

    • B1FF_PSUVM 1 minute ago
      Read. Guy knows what he's doing.
  • dimview 3 days ago
    Author here. I could not find a constructive‑reals calculator on iPhone, so I ported the engine Android uses: Hans Boehm's com.hp.creals plus AOSP's UnifiedReal/BoundedRational. Used Opus 4.8 to do the port and Fable 5 for the review.

    Fable 5 caught a couple of real concurrency bugs the port introduced while adapting Java's synchronized/AsyncTask to Swift concurrency, including one that was a memory‑safety bug on shared singletons like π, not just a wrong digit. None would have shown up in the unit tests. Writeup has the details.

    It's an early iPhone TestFlight beta (link in the post); happy to go deep on either the constructive‑reals side or the AI‑assisted‑dev side.

    • NetMageSCW 59 minutes ago
      Maybe you should correct the errors in your post before worrying about the code.
    • nomel 1 hour ago
      The old HP calculators, and their emulators, have a computer algebra system, for symbolic maths, that supported this. The user interfaces leave much to be desired, but some also have reverse Polish notation!
  • quixoticelixer- 1 hour ago
    I don't get why this is a big deal. All the calculators I've used have been rectangle.
  • jagraff 1 hour ago
    Very interesting, thank you for posting! I'm curious - roughly how many tokens do you think you used during the initial port and subsequent bug hunting and fixes?
  • piinbinary 1 hour ago
    It would also be fun to have a full computer algebra system (like maxima) on a phone
  • Jblx2 1 hour ago
    Edit: Whoops. My bad. This must have been a HN "second chance" winner.
    • badc0ffee 1 hour ago
      That looks like a link right back to this thread?
    • ColinWright 1 hour ago
      Er, that's this submission.
  • htx80nerd 1 hour ago
    btw if you turn the iphone calc into landscape mode and switch you scientific calc it does Ramanujan's constant without rounding, but stops after the twelve 9s.