JiscMail Logo
Email discussion lists for the UK Education and Research communities

Help for COMP-FORTRAN-90 Archives


COMP-FORTRAN-90 Archives

COMP-FORTRAN-90 Archives


COMP-FORTRAN-90@JISCMAIL.AC.UK


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

COMP-FORTRAN-90 Home

COMP-FORTRAN-90 Home

COMP-FORTRAN-90  1998

COMP-FORTRAN-90 1998

Options

Subscribe or Unsubscribe

Subscribe or Unsubscribe

Log In

Log In

Get Password

Get Password

Subject:

Re: A more regular syntax

From:

Richard Maine <[log in to unmask]>

Reply-To:

Richard Maine <[log in to unmask]>

Date:

Fri, 27 Mar 1998 09:16:27 -0800 (PST)

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (113 lines)

Dr W.W. Schulz writes:

 > The backward compatibility problem must be divided into two parts:
 > a) syntactic    a reasonably smart converter should do the trick
 > 		I think users must be expected to do some updating
 > 		as well, of course, with the help of some tools.

But what percentage of the users will agree with this?  I'll wager
quite low.  It would be one matter to require code conversion if it
is required for major new functionality.  Even for major new
functionality, there tends to be a lot of resistance to such.  What
I'm seeing here is mostly "syntactic sugar" and personal preferences,
plus possibly a few minor functionalities.  To add such stuff in a
compatable manner is one thing.  To require old code to be converted
for such reasons simply will not pass (in my opinion, of course).

I think this illustrates far too casual dismisal of compatability
issues.  I don't think that a suggestion for a change like this would
have any chance of passing (or even coming close) if it required
conversion of old codes.  I predict that if it did somehow pass the
committee, the standard would fail to be adopted due to overwhelming
public comment.  You just can't dismiss compatability that casually;
not if you expect it to pass.  Introducing an incompatable change
requires very strong argument and defense of why the functionality
can't be achieved compatably.  I personally don't think any of this
comes close.

I think it extremely prejudices the whole proposal to even suggest
that it might be done in an incompatable manner and require a
converter for existing codes.  That frankly makes it hard for me to
take the rest of the proposal very seriously.  I certainly would have
a hard time keeping a straight face while trying to explain to my
users exactly why they were being forced to make such a change.
In my experience with users, one of the most significant benefits of
f90 is its compatability with f77.  I invariably tell them that they
can use their f77 code as is for now and gradually learn new f90
features.

 > How about this?
 > We should go for a really regular syntax that makes the procedure statement
 > into a full blown interface for the procedure, something like
 > 
 >   FUNCTION, <fct-name-attr> :: fct-name(           &
 > 	      <var-type>, <var-attr> :: var_list   &
 > 				       )           &
 >             RESULT( <res-type>, <res-attr> :: res_name )
 > 
 >   END FUNCTION fct-name

Well, first you'd have to define how this works with multiple
arguments; I don't see how they are delimitted, though presumably that
could be solved.

But more significant is that this is just a matter of personal taste.
And (perhaps one might guess) my taste happens to run otherwise.  I've
seen proposals much like this before, and I don't like them.  For a start,
it makes the function/subroutine statement quite lengthy when the
argument list is long.  This, in turn, means that simple typographical
errors can sometimes be difficult to locate because the compiler might
not diasgnose them until quite a few lines later.  I always though of
this as one of the poor parts of several other languages.

Then there is a consistency issue.  Consistency is so often in the eye
of the beholder.  (I am reminded of the many arguments about treatment
of zero-sized arrays, where pretty much everyone was arguing that they
should be treated consistently with non-zero sized ones, but there
seemed to be quite a lot of viewpoints about exactly what would be
consistent - I lost that argument - I think they look pretty
inconsistent - oh well).  In the case of dummy arguments, they are
local variables, so if the above proposal was passed, I would wonder
why they couldn't be declared like in their own statements like other
local variables instead of being declared in the middle of the
function statement.  (And if you are going to try to tell me that
dummy arguments are not really local variables, then you'd be getting
into revisions of the basic semantics of the language - and a part
with lots of subtleties).

I don't see any particular point in arguing matters of taste.  People
will, rather by definition, disagree on them and there is nothing
wrong with such disagreement.  So if you think my taste is "poor"
in this matter, I'll not argue.

My point is that this *IS* a matter of personal preference, not a
clearly objective measurement of "consistency."

 > We could leave the older syntax in place for a while, but set a date for
 > obsolescence and provide conversion tools.

 > Now we can ask in the F90 style
 > 
 >    xprec = KIND(x)
 > 
 > but in the OOP style this would be
 > 
 >    xprec = x%Kind

Let me end on a note of some agreement.  I like this one.  So did enough
other people that it passed (not that there wasn't minority disagreement).
This is currently being worked as part of the f2k proposal.

I might note, however, that there was no suggestion to phase out the
function notation where it already exists.  I strongly suspect that if
such a phase-out plan had been proposed, it would have caused the
whole proposal to fail.

-- 
Richard Maine
[log in to unmask]



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

Top of Message | Previous Page | Permalink

JiscMail Tools


RSS Feeds and Sharing


Advanced Options


Archives

December 2023
February 2023
November 2022
September 2022
February 2022
January 2022
June 2021
November 2020
September 2020
June 2020
May 2020
April 2020
December 2019
October 2019
September 2019
March 2019
February 2019
January 2019
November 2018
October 2018
September 2018
August 2018
July 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
December 2015
November 2015
October 2015
September 2015
August 2015
June 2015
April 2015
March 2015
January 2015
December 2014
November 2014
October 2014
August 2014
July 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
July 2013
June 2013
May 2013
April 2013
February 2013
January 2013
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
April 2012
March 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
December 2010
November 2010
October 2010
August 2010
July 2010
June 2010
March 2010
February 2010
January 2010
December 2009
October 2009
August 2009
July 2009
June 2009
March 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
January 2007
2006
2005
2004
2003
2002
2001
2000
1999
1998
1997


JiscMail is a Jisc service.

View our service policies at https://www.jiscmail.ac.uk/policyandsecurity/ and Jisc's privacy policy at https://www.jisc.ac.uk/website/privacy-notice

For help and support help@jisc.ac.uk

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager