I have no problem with allowing underscores, as long as they can't be initial in a number.  I think internal-only, single-only is the Right Thing, but *not* to force three digits, so that in India people can write numbers like  3_14_15_926 (read "three crore fourteen lakh fifteen thousand nine hundred and twenty-six" in Indian English).  I think it should work with or without base and exactness prefixes, and in any digit string including fractional-parts and complex or higher-order numbers.

Accepting quantities  (number + unit) is okay too, but we'd need some agreed-on internal representation of quantities with a constructor and accessors.


On Fri, Apr 12, 2019 at 5:07 PM Lassi Kortela <xxxxxx@lassi.io> wrote:
> Kawa does have complex and quaternions
> (https://www.gnu.org/software/kawa/Quaternions.html)
> and numbers with units (https://www.gnu.org/software/kawa/Quantities.html).

Cool, I didn't know that. So that -3.7+2.6i-6.17j+19.6k example I pasted
at random from Common Lisp is actually a quaternion where each of the
four dimensions is written with an integer and fractional part :) And
that works because even in that complex case (no pun intened) you force
the number to start with +/- or a digit. And same thing for numbers with
units of measure (those would be a further extension even from the
Common Lisp potential number syntax, right?)

At face value, it sounds like underscores would be overkill for
quaternions, but would make sense with units of measure - e.g.
expressing the length of a year as 31_536_000s