This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Ada.Characters.{Wide_}Latin_9 should be deleted

> removing useful features
> based on theoretical concerns that have very little to do with practical
> Ada use.

There are constant rants on comp.lang.ada about why people should use Ada. 
Here's one of the reasons people don't: "practical Ada use" obviously 
refers to embedded systems or the like, since on any general purpose Unix
system (including GNU systems), it is a major mistake to mishandle temp
files or not support switching the character set to what the user is using
at runtime.

> If someone wants to add a 32-bit wide_wide_character type, that's a reasonable
> though probably in practice not very useful addition. 

Interesting. I actually have code to do just such a thing - let me clean up
and submit it. (I'll need to fill out a copyright assignment, though.)

> I agree that sometimes users think
> something is useful and it is too horrible to put in anyway. But the
> addition of Latin-9 is entirely consistent with the kind of addition
> envisioned in the RM, and is harmless from a language coherency point of view.

One problem is that GNU systems currently support 16 different character sets;
Windows systems have their own character sets, probably about equal in number,
as do Macintoshes. Toss in a collection of character sets used on other Unix
systems, and you've easily got over 60 different character sets, with no reason
to add one to Ada.Characters instead of another.

> Indeed, the bizarre viewpoint here seems to be something like "you should not
> be using Latin-9, even though it is an approved standard, instead we think
> you should use 32-bit characters". This kind of stylistic judgment (which
> is not even universally agreed on, I think it is plain wrong) has no place 
> in language design and implementation.

Would you agree with the principle that you shouldn't hardcode into the source
something that the user needs to be able to change at runtime? That's what 
Ada.Characters.Latin_9 does - it hardcodes Latin 9 into the source code, when
what the program should use the locale character set. It's not stylistic 
judgement; it's the inherant constraints of writing multi-cultural code. There
are many solutions, but the one most consistent with what Ada already does is
to use Unicode,

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]