Re: [Scheme-reports] digit-value
Marc Feeley
(01 Jul 2012 12:55 UTC)
|
||
Re: [Scheme-reports] digit-value Alex Shinn (01 Jul 2012 20:28 UTC)
|
||
Re: [Scheme-reports] digit-value
Marc Feeley
(02 Jul 2012 12:08 UTC)
|
||
Re: [Scheme-reports] digit-value
Alaric Snell-Pym
(02 Jul 2012 12:21 UTC)
|
||
Re: [Scheme-reports] digit-value
John Cowan
(03 Jul 2012 07:16 UTC)
|
||
Re: [Scheme-reports] digit-value
Alaric Snell-Pym
(03 Jul 2012 08:50 UTC)
|
||
Re: [Scheme-reports] digit-value
Pierpaolo Bernardi
(03 Jul 2012 09:11 UTC)
|
||
Re: [Scheme-reports] digit-value
John Cowan
(03 Jul 2012 14:45 UTC)
|
||
Re: [Scheme-reports] digit-value
Pierpaolo Bernardi
(03 Jul 2012 15:58 UTC)
|
||
Re: [Scheme-reports] digit-value
John Cowan
(04 Jul 2012 04:22 UTC)
|
||
(missing)
|
||
Re: [Scheme-reports] digit-value
John Cowan
(05 Jul 2012 02:25 UTC)
|
||
Re: [Scheme-reports] digit-value
John Cowan
(03 Jul 2012 03:19 UTC)
|
On Sun, Jul 1, 2012 at 9:54 PM, Marc Feeley <feeley@iro.umontreal.ca> wrote: > > On 2012-07-01, at 3:15 AM, John Cowan wrote: > >> Marc Feeley scripsit: >> >>> What is the rationale for digit-value ? Its usefullness seems limited. >>> It could be used to parse decimal numbers and convert them to their >>> numerical value. However, a more general procedure would be useful >>> to parse numbers in any base: >> >> Its purpose is to determine for any digit character (not merely the >> European digits 0-9) what its numeric value is. For example, >> (digit-value #\x0663) => 3, because ٣ U+0663 is the Arabic-Indic digit 3. >> Of course, if the implementation does not support this character, that >> won't work. > > I understand, but why is this useful? It seems rather special purpose (for parsing decimal numbers and converting them to their numerical value), but this is the purpose of the string->number procedure. Digit-value doesn't help me much in parsing hexadecimal. Perhaps I have missed some other use case. Moreover, as Peter Bex has pointed out, there is an inconsistency with read and string->number. The consistency we were making was between digit-value and char-numeric?, the latter of which was extended to Unicode semantics. It seemed strange to be able to tell that a character had a numeric interpretation yet not know what that numeric value was. Neither of these necessarily apply to read or string->number, since the read syntax is described only for ASCII numbers. However, since symbols may not begin with any character with the Unicode numeric property, an implementation would be free to return (string->number (string #\x0663)) => 3. So I think it's more consistent to have digit-value but consider it a fairly minor issue. -- Alex _______________________________________________ Scheme-reports mailing list Scheme-reports@scheme-reports.org http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports