Print

Print


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



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%