In his book, The End of Error, John Gustafson describes a new number format called Unum with many interesting properties.
Since then, Prof. Gustafson has also designed several alternative formats that are worth providing. Please see these links:
http://www.johngustafson.net/unums.html
https://posithub.org/khub_community
This would be a great number format to have available in a Prolog implementation, and a quite unique selling point. In fact, the idea is similar to number formats that were available in previous Prolog implementations and designs (Prolog IV).
I hope that you find these number formats interesting, and consider providing them at some point!
It would be a unique selling point indeed! I remember Willi Riha from the Shen community mentioning unums a while back. Creating a Rust implementation of unums could be a fun project onto itself. Chances are fair that one exists already. I will look into it. Thanks!
Is The End of Error still worth a purchase, or have unums been eclipsed by posits? I can't find much on posits.
To the first question: In my opinion, the book is well worth purchasing, due to the many examples and nice illustrations of floating point issues alone already. It is very nicely done.
As to the other part: I have seen posits being described as "a hardware-friendly version of unums":
https://www.johndcook.com/blog/2018/04/11/anatomy-of-a-posit-number/
I think an important takeaway of this is that ideally, several different number formats can be nicely supported, with rational numbers as a very important application, and unums possibly as a quite unique attraction.
https://www.nextplatform.com/2019/07/08/new-approach-could-sink-floating-point-computation/ gives a good overview.
There is also softposit crate to build on.
It surprises me that none of the unum/posit projects I've seen experiment with GPU parallelism. Posits/unums are designed with parallelism in mind, no?
GPU parallelism heavily depends on (the absence of) state (like all the tiny flags in IEEE that make switching more cumbersome) - unums remove that state.
Currently it seems that Gustafson explores the design space around unums. Unums were much closer to traditional IEEEs than what posits are
... but in any case, it is probably more promising to first get regular Prolog (including partial lists) and constraints up and running.
Most helpful comment
... but in any case, it is probably more promising to first get regular Prolog (including partial lists) and constraints up and running.