Rename std.ctype to std.ascii?

Jonathan M Davis jmdavisProg at gmx.com
Mon Jun 13 23:23:19 PDT 2011


On 2011-06-13 22:48, Jouko Koski wrote:
> "Jonathan M Davis" <jmdavisProg at gmx.com> wrote:
> > std.ctype is modeled after C's ctype.h. It has functions for operating on
> > characters - particularly functions which indicate the type of a
> > character (I
> > believe that ctype stands for character type, so that makes sense). For
> > instance, isdigit will tell you whether a particular character is a
> > digit. It
> > only works on ASCII characters (non-ASCII characters return false for
> > functions like isdigit and functions like toupper do nothing to non-ASCII
> > characters).
> 
> What is your definition for ASCII character?
> 
> Most of the <ctype.h> functions (or macros) are locale dependent, see
> setlocale() and <locale.h>. And there is the <wctype.h>, too.
> 
> While the C standardized ways of doing things might not be most appropriate
> approach in D domain, we must not base our design decisions on deficient
> analysis. "I just want this text uppercase" is one of the hardest things in
> the _world_. The problem is not just the header or package naming.

??? std.ctype does _nothing_ with localization. And even if it did, that 
doesn't change what ASCII is. ASCII is made up of the values 0 through 127. 
And honestly, I have no clue how _those_ characters could be affected by 
locale. Extended-ASCII might be, but I wouldn't think that ASCII would be. 
Regardless, std.ctype does nothing with locale.

- Jonathan M Davis


More information about the Digitalmars-d mailing list