C and ANSI Standard

Keld J|rn Simonsen keld at diku.UUCP
Tue Aug 28 04:20:34 AEST 1984

As an European, I do not care too much for ANSI standards, although 
they tend to be accepted also as International Standards...
Europeans are strange people, speaking strange
languages. And having strange National Character Sets.
They don't use ASCII. They use their own National version
of ISO 646 (like ASCII is the American National version of ISO 646).
The International Standard on characther sets ISO 646 specifies in its
Basic Code Table that @, [, \, ], {, | and } are reserved for National
use primarily intended for alphabet extensions. Also ^, ` and ~ have
an option of being used in National Character Sets as other
graphical representations if necessary. 

These derivations from ASCII is the realm of life (as our languages)
in most of Continental Europe. I can name: Sweden, Norway, Denmark,
Finland, Iceland, Germany (FRG), Austria, Switzerland, France, Belgium,
Italy, Spain and Portugal in Western Europe (whereto Unix may be 
exported), an area with a population of about 265 mill. people.
Not to mention Eastern Europe and French, Spanish and Portuguise 
speaking countries in Africa and South and Middle America and 
other places...

I like to use my own language (Danish) and I think all my fellow
Europeans do the same. So I would like to use my National Character set
without having to think as some letters being inferior (and that is
some of the most used characters in Danish). And I also would like
get rid of explaining all the lusers these strange conventions
(from an European point of view). This applies to all kind of Unix
software, including the shells, C and nroff/troff.   
So if the ANSI commitee on C would like to go for an ISO standard,
and all you American firms would like to go for Overseas markets,
you should somehow cater for these National Character Sets. 

What to do about it ? Well, IBM allowed national characters in the 
variable names in FORTG/H on MVS, and I think they did the same in
COBOL and PL/1. Pascal had an alternate representation of its
special characters (but it was also made by an European).
We could make a #NATIONAL or #ISO directive for the cc,
allowing national characters in the variable names and 
alternate representations of {, }, etc. Suggestion: (. for {,
). for }, (* for [, )* for ], !. for |, !* for \.
If you dont like that, find something better.
And then we should have lint check for conformance :-).

Keld J|rn Simonsen, DIKU, University of Copenhagen.

More information about the Comp.lang.c mailing list