[net.lang.c] C and ANSI Standard

craig@loki.ARPA (08/15/84)

From:  Craig Partridge <craig@loki.ARPA>


	Here, here for Bennet Todd.  But I'd like to add a suggestion.
How about laying off the ANSI standards people until they produce
a draft?  Then everyone who wants to flame about what they've proposed
(as opposed to what they might propose, or are considering proposing)
can then present their objections with specific references to the
draft.  Right now I think we are debating with too little information
with which to debate.

Craig Partridge
craig@bbn-unix

crandell@ut-sally.UUCP (Jim Crandell) (08/18/84)

>  How about laying off the ANSI standards people until they produce
>  a draft?

Better yet, how about laying 'em off indefinitely?  :-)
-- 

    Jim Crandell, C. S. Dept., The University of Texas at Austin
               {ihnp4,seismo,ctvax}!ut-sally!crandell

hokey@plus5.UUCP (Hokey) (08/18/84)

Pardon me for jumping in without being aware of the context, but I am
a voting member of both the ANSI UNIX standards committee as well as
the ANSI MUMPS committee (X11.1).  *PLEASE* don't wait until the standards
committee proposes a draft.  If you have an idea or a complaint, make
yourself heard *NOW*.  In my experience on both committees, the proposed
standards are sent out after everybody has agreed on what the standard
*will* be.  I took a poll on the preferred method of file locking under
Unix before the Salt Lake City meeting.  The results of the poll were
to implement something other than the proposed standard (I will publish
these to the net Real Soon Now).  The other folks on the committee said
"Too late, we've already submitted the standard.  Besides, if people
wanted something else, they should have spoken up earlier."
The experience was quite infuriating, so I haven't posted the results
of the survey yet.

Understand that the difficult issues are the center of great intellectual
*or* emotional debate.  Sooner or later the committee gets sick and tired
of debating the issues and makes decisions.  These issues are *not* easy
to reopen, as there is a lot of pressure to get the standard out as soon
as possible.  Since the ANSI committees are not well funded, nobody really
wants to reprint the proposals, as the new ones must be resent to a lot
of people.

I have suggested for a year and a half that the UNIX standards discussions
be held on the net.  I was amazed that there was so much resistance to the
idea.  The committee felt that access to the net by committee members was
not as widespread as it should be.  As far as I was concerned, if an
individual or organization is interested in the UNIX Standard, and they
are willing to send individuals to meetings, the cost of a modem (if one
doesn't exist on-site already) is trivial.  Net connections are easy!
The discussions could be held in a moderated group, to avoid the problems
of general net traffic.  People at the SLC meeting decided to give the
net a try for the UNIX Standards discussions.  How much discusson have
you seen?

Please forgive the digression.  My point, again, is to let yourself
be heard before it is too late.  You will have to live with the results.
-- 
Hokey           ..ihnp4!plus5!hokey
		  314-725-9492

mike@RICE.ARPA (08/19/84)

From:  Mike Caplinger <mike@RICE.ARPA>

I want flexnames (arbitrary-length identifiers) everywhere you can use
an identifier in C, particularly external names.  I would settle for
some large length, like 80.  I WON'T settle for 6 or 8, and I don't
care how many linkers will have to be rewritten to accomodate it.

If this isn't done, then the standard will be a joke, and no piece of
VAX 4.2 or Sun code will ever run anywhere else.

Also, if anybody is contemplating making structure member names be
unique (that is,

struct foo {
    int a;
};

struct bar {
    int a;
};

being illegal) please stop them from doing so.  Please don't let the
ANSI standard be a mediocre version of V7 Unix C!

henry@utzoo.UUCP (Henry Spencer) (08/22/84)

> I want flexnames (arbitrary-length identifiers) everywhere you can use
> an identifier in C, particularly external names.  I would settle for
> some large length, like 80.  I WON'T settle for 6 or 8, and I don't
> care how many linkers will have to be rewritten to accomodate it.

This has already been discussed to death.  Flexnames, no.  Longer limits,
where practical, yes.

> If this isn't done, then the standard will be a joke, and no piece of
> VAX 4.2 or Sun code will ever run anywhere else.

I don't know about the first part, but <FLAME ON> the second part is
probably true already <FLAME OFF>.

> Also, if anybody is contemplating making structure member names be
> unique (that is,
> 
> struct foo {
>     int a;
> };
> 
> struct bar {
>     int a;
> };
> 
> being illegal) please stop them from doing so.  Please don't let the
> ANSI standard be a mediocre version of V7 Unix C!

The draft says, I believe, that member names are local to the structure
they are declared in.  So the above is legal.  Note that it's legal in
V7 C too, but for different and much sleazier reasons.
-- 
				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry

keld@diku.UUCP (Keld J|rn Simonsen) (08/27/84)

<>
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.

BLARSON@ecld.#eclnet (08/31/84)

From:  Bob Larson <BLARSON@ecld.#eclnet>

GR.ARPA
In-Reply-To: Message from "decvax!genrad!mit-eddie!smh@UCB-VAX.ARPA" of Tue 28 Aug 84 05:33:08-PDT

Your sugestions are not good for the the C programming language.  You
should be careful to use only character sequences not valid in the
current language.

  (.1)
  (structure).member
  (*pointer)
  (3)*4
  !.1                (admitidly weak)
  !*pointer

In unix, you could create filters to/from whatever representation you choose,
and even run a shell with input and output filtered.

Bob Larson <Blarson@Usc-Ecl.Arpa>

-------

mrm@datagen.UUCP (09/01/84)

The ANSI committee is currently looking at the problem of alternate represent-
ations for the national characters (#, {, }, |, etc).  It will probably be
brought up and voted on in September's meeting in Boston.  It is unfortunate
that Ritchie used almost all available printing characters in the design of C.

Not only does the various national standard characters pose a problem, EBCDIC
also poses much the same problem, though worse since there are several
dilects, depenmding on the print train and/or terminal.

Michael Meissner
Data General Corporation
...{ allegra, ihpn4, rocky2 }!datagen!mrm

bsa@ncoast.UUCP (The WITNESS) (09/05/84)

[gollum :-)]

> From: BLARSON@ecld.#eclnet

> In unix, you could create filters to/from whatever representation you choose,
> and even run a shell with input and output filtered.

Have you ever tried to filter I/O to/from vi?

--bsa