Hi Rowan, > While I appreciate that that was the original aim, a lot of the discussion at > the moment isn't really about BCMath at all, it's about how to define a > fixed-precision number type. For instance, how to specify precision and > rounding for operations like division. I haven't seen anywhere in the > discussion where the answer was "that's how it already works, and we're not > adding new features".
> Is there anything in the proposal which would actually be different if it was > based on a different library, and if not, should we be designing a > NumberInterface which multiple extensions could implement? Then Jordan's > search for a library with better performance could lead to new extensions > implementing that interface, even if they have portability or licensing > problems that make them awkward to bundle in core. > > Finally, there's the separate discussion about making a new "scalar type". As > I said in a previous email, I'm not really sure what "scalar" means in this > context, so maybe "integrating the type more directly into the language" is a > better description? That includes memory/copying optimisation (potentially > linked to Ilija's work on data classes), initialisation syntax (which could > be a general feature), and accepting the type in existing functions > (something frequently requested for custom array-like types). > > In other words, looking at how the efforts overlap doesn't have to mean > abandoning one of them, it can mean finding how one can benefit the other. I agree that the essence of the debate is as you say. However, an argument must always reach a conclusion based on its purpose, and combining two arguments with different purposes can make it unclear how to reach a conclusion. If we were to merge these two debates, what should be on our agenda? It would probably be reasonable to have a limited joint discussion on the common point between the two arguments, namely, "how to express numbers," and then return to each of their own arguments. However, it is not desirable for the venue for discussion to change depending on the content of the discussion, so I think it will be difficult to integrate them. Your hope is probably that by combining the discussions, better ideas will emerge. IMHO, that should really be a "new discussion", perhaps in this thread where we're talking now. Regards. Saki