High precision uLisp?


Dear David,

Recently I fell in love with Sharp PC-xxxx-calculators from the 1980s. They were low-capacity and slow as molasses, using BASIC, but they DID have ONE thing going for them: high precision. Ten, sometimes twenty places after the decimal point.

So I am proposing, just as an idea, “high precision uLisp”. :) But of course, I am perfectly useless as I have NO IDEA how to even approach this, besides declaring floats as doubles or quads thelike… :) — If that were somehow possible, though, then even the low-powered Arduino platforms would have always this, I think, practically quite useful application.


What application do you have in mind - a custom calculator?


Yes - and anything that has to do with integration. If you are adding up a function in ten-thousandth-step-blocks, it may “take a while”, but should at least be “precise”. - In fact, perhaps just increasing the precision of the floating point declarations MAY be enough, when I think about it… One shouldn’t over-engineer things… :)


If you want to implement a scientific calculator, and you’re not too concerned about execution time, you could probably write it in Lisp, implementing your own high-precision floating-point library, a bit like I did with my Infinite precision arithmetic example.

For a fascinating article about how little code is needed to implement a scientific calculator see Reversing Sinclair’s amazing 1974 calculator hack.