Revising C

Peter S. Shenkin validgh!uunet!avogadro.barnard.columbia.edu!shenkinaSun.COM
Mon Dec 10 06:21:58 PST 1990


[I forget who wrote:]
>> Although things can and do change, the "pragmatic reality" of the moment
>> is that if you want C to be change, it seems that C++ is the means whereby
>> that can be done in the formal standards community.

[Stallman writes:]
> ....  The C++ user
> community seems to insist firmly that C++ is a completely distinct
> language from C, by which they mean that compatibility with C is not a
> goal....

Seems, with regard to C, not C++, we've got a chicken/egg problem:  the
standards committee won't add features like noalias and conformant arrays
because there's been insufficient experience with them, and no vendor wants
to try them out because they're not in the standard.

On the other hand, if these things could be tried out, and turned out to
be useful, there is at least the possiblity they would be incorporated in
a future standard.  

Now, it seems to me that if the user community, as represented at least in
part by this mailing list, were able to agree on syntax and semantics for
these two things, and perhaps a few more, then it might be possible to
get vendors of vector and parallel machines to implement them.  Or at least
to get them put into gcc, perhaps through use of a special command-line option
("-nceg" ?) to invoke them.  This would be a start toward developing a 
de-facto standard which a future (shudder) committee might recognize, or
it might be a dead end.  Either way, we would learn something.

One more thing:  I would also suggest that any implementation that does this
also supply tools to automatically rewrite code deleting the features, for
use on machines that don't have compilers supporting them.  For noalias,
something as simple as the following might work (depending on how noalias is
implemented):
	#ifndef NOALIAS
	#define noalias
	#endif
For conformant arrays, it might be possible to write a preprocessor which
would rewrite the appropriate subroutines using pointers instead.

	-P.
--
************************f*u*cn*rd*ths*u*cn*gt*a*gd*jb**************************
Peter S. Shenkin, Department of Chemistry, Barnard College, New York, NY  10027
(212)854-1418     shenkinaavogadro.barnard.columbia.edu   shenkinacunixf.BITNET
***"In scenic New York... where the third world is only a subway ride away."***




More information about the Numeric-interest mailing list