- A language binding of ISO/IEC 10967 (Language Independent Arithmetic; LIA). It is basically a clarification on semantics of arithmetic functions.
- Reviving SRFI 73 (Exact Infinities). Not only it is required by LIA if a language provides so-called big integers, but they are sometimes useful as sentinel values and such.
- Configurable precision decimal. It is implementable with what RnRS provides but doing efficiently without low-level support seems not easy.
- Fixed-width decimal, i.e. radix 10 flonums.
- A language binding of ISO/IEC 10967 (Language Independent Arithmetic; LIA). It is basically a clarification on semantics of arithmetic functions.I'll have to read the DISes before I can make a judgment on that.
Also worth looking at is ISO/IEC 11404:2007, General Purpose Datatypes. This is freely available from ISO at <https://standards.iso.org/ittf/PubliclyAvailableStandards/c039479_ISO_IEC_11404_2007(E).zip>.
- Reviving SRFI 73 (Exact Infinities). Not only it is required by LIA if a language provides so-called big integers, but they are sometimes useful as sentinel values and such.I don't think these are very useful: 1/0 is made of exact numbers, but it is not itself an exact number. However, if you are going to have them, you might as well have 0/0, or exact NaN, as well -- I don't really understand why SRFI 73 excludes it.
- Configurable precision decimal. It is implementable with what RnRS provides but doing efficiently without low-level support seems not easy.
- Fixed-width decimal, i.e. radix 10 flonums.If it's fixed point, it can't be floating point too. You can squeeze a slightly larger range out of fixed-point decimal (for a given number of bits), but floating decimal has a standard (IEEE 754:2008) that is isomorphic to IEEE 754 binary floats.
It was my fault to say reviving SRFI 73, which is misleading.- Reviving SRFI 73 (Exact Infinities). Not only it is required by LIA if a language provides so-called big integers, but they are sometimes useful as sentinel values and such.I don't think these are very useful: 1/0 is made of exact numbers, but it is not itself an exact number. However, if you are going to have them, you might as well have 0/0, or exact NaN, as well -- I don't really understand why SRFI 73 excludes it.
My intention is introducing a way to represent the upper and lower limits of integer. We can consider such limits without making 1/0 valid. In this context, NaN as a value is unnecessary, because 0/0 is invalid as well.
Positive infinity is regarded as an inexact real (but not rational) number that ...
Negative infinity is regarded as an inexact real (but not rational) number that ...
My intention is introducing a way to represent the upper and lower limits of integer. We can consider such limits without making 1/0 valid. In this context, NaN as a value is unnecessary, because 0/0 is invalid as well.So, in the end, exactness was unrelated.
Making (integer? +inf.0) and (integer? -inf.0) #t seems enough for LIA. Doing so, however, violates R7RS, section 6.2.4.
Positive infinity is regarded as an inexact real (but not rational) number that ...
Negative infinity is regarded as an inexact real (but not rational) number that ...
Positive infinity is regarded as an inexact real (but not rational) number that represents an indeterminate value greater than the numbers represented by all rational numbers. Negative infinity is regarded as an inexact real (but not rational) numberthat represents an indeterminate value less than the numbers represented by all rational numbers.
| Sysop: | Keyop |
|---|---|
| Location: | Huddersfield, West Yorkshire, UK |
| Users: | 546 |
| Nodes: | 16 (2 / 14) |
| Uptime: | 04:04:07 |
| Calls: | 10,387 |
| Calls today: | 2 |
| Files: | 14,061 |
| Messages: | 6,416,779 |