> Robert Hill wrote:
>
> > As recently as the 1980s IBM (and vendors of plug-compatible equipment,
> > as clones were called then) were selling, for use with their mainframes,
> > EBCDIC terminals whose keyboard lacked such characters as
> >
> > \ ~ ^ [ ] { }
>
> Hello,
>
> I have to admit this discussion is getting out of hand and forces me to
> press the [Del] button too often. First, I can see no possible harm in
> letting ^ denote exponentiation, but keeping the old ** as well.
> In the mean time, use of any good preprocessing system,
I have to add my two cents here.
** must always remain do to backward compatibility.
In general, I think it is a bad thing to have more than one way to do
things. OK, things like == I think are worth the trouble, but in
general I think there should be ONE OFFICIAL WAY to do things and
declare the other stuff obsolescent before deleting it. (Candidates for
this include DIMENSION as a declaration as opposed to an attribute etc;
I think the subsets already go a long way in this direction.)
Not using ^ to denote exponentiation leaves the possibility open to use
it for something else in the future. Possibly confusing for C
programmers, but who cares about them. :-) I think the Fortran
character set should never exceed 7-bit printable US ASCII. At the
moment, $ and ? are allowed but have no purpose. Presumably, these
could be deemed to have a purpose in the future without breaking any
code. (I, and I am sure others, used $ as a continuation mark in
Fortran77, since it was not allowed anywhere else (except in comments).)
Obviously, $, ? and ^ should be given meaning only for major features,
or possibly for clearing up confusion where it often occurs (in this
case, it would mean introducing a second way to do something).
Let's see, apart from $, ? and ^, what is still not part of the
character set? ~`@#[]\{}
I think [] should be allowed to replace parentheses in the case of array
indexes. Perhaps {} for function references. Then () could be used for
grouping. Or perhaps {} for grouping leaving () for function (and
subroutine) references. (I think the latter is better.) (I think this
corresponds to Mathematica usage.) I like the idea of @ introducing a
macro, something like
MACRO FOO
<insert code here>
END MACRO FOO
then @FOO in the code. This would essentially be like INCLUDE, except
that FOO is defined within the routine in which it is used. (When PART
of a format statement is repeated a number of times would be a nice use
for this, among others.)
Don't use ` for anything, too confusing.
If any new delimiters are needed, why not use \ instead of (//) and the
like?
That still leaves ~ and #.
--
Phillip Helbig Email .............. [log in to unmask]
Kapteyn Instituut Email ................. [log in to unmask]
Rijksuniversiteit Groningen Tel. ................... +31 50 363 6647
Postbus 800 Fax .................... +31 50 363 6100
NL-9700 AV Groningen Web ... http://www.astro.rug.nl/~helbig/
My opinions are not necessarily those of my employer.
<A HREF=" http://gladia.astro.rug.nl:8000/helbig/hire/hire.html ">HIRE ME!</A>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|