[J3] [EXTERNAL] Re: John Rice's 1981 proposal for RANGE variables

Van Snyder van.snyder at jpl.nasa.gov
Wed May 15 12:46:33 EDT 2019


On Wed, 2019-05-15 at 14:39 +0000, Bill Long wrote:
> The more obvious question remains:  In almost 40 years since the
> proposal from Rice, has any still-used language included it as a
> built-in feature?  Or has the collective wisdom of decades been that
> the answer is NO for this feature.  Barring some significant change in
> the hardware landscape, at some point you have to declare failure and
> move on. 

Well if this is about John's 1981 proposal, not the RANGE that was
briefly in Fortran 8x, it is entirely irrelevant.  An any case, it is
entirely independent from hardware.  Every language has arrays.  Every
language has subscripts.  Fortran has section notation.  John's proposal
for RANGE variables allows a section specification to be a variable, not
only the "expression" or "constructor" form we have now.  One cannot
change the representation of an object from an array to something
represented by procedures, such as a sparse matrix, without either
allowing a "section" dummy argument, or finding and changing every
reference and definition.  The syntax nonuniformity that imposes this
labor cost is the primary reason that 90% of the cost of "owning" a
typical real program is incurred after it is "finished."  Ross, Geschke
and Mitchell, and Parnas wrote about this nearly fifty years ago.  Their
papers are in the Tutorials directory, along with Rice's.

> 
> Cheers,
> Bill
> 
> 
> > On May 15, 2019, at 1:49 AM, Van Snyder via J3 <j3 at mailman.j3-fortran.org> wrote:
> > 
> > On Wed, 2019-05-15 at 15:37 +0900, Malcolm Cohen via J3 wrote:
> >> IDENTIFY and RANGE were in Fortran 8X, and were comprehensively
> >> rejected by the Fortran community in 1988, as being too unwieldy and
> >> too complicated for the perceived benefit thereof.
> > 
> > My recollection is that the RANGE that was in Fortran 8x was different
> > from what John Rice proposed in 1981.  The RANGE in Fortran 8x implied
> > that an array had a descriptor, essentially the same as a pointer
> > descriptor, that carried its currently-interesting bounds, independently
> > from it's actual bounds.  A pointer, allocatable, or assumed-shape dummy
> > with the RANGE attribute would have two such descriptors.
> > 
> >> 
> >> 
> >> 
> >> Cheers,
> >> 
> >> -- 
> >> 
> >> ..............Malcolm Cohen, NAG Oxford/Tokyo.
> >> 
> >> 
> >> 
> >> 
> >> From: J3 <j3-bounces at mailman.j3-fortran.org> On Behalf Of Van Snyder
> >> via J3
> >> Sent: Wednesday, May 15, 2019 10:10 AM
> >> To: j3 <j3 at j3-fortran.org>
> >> Cc: Van Snyder <Van.Snyder at jpl.nasa.gov>
> >> Subject: [J3] John Rice's 1981 proposal for RANGE variables
> >> 
> >> 
> >> 
> >> 
> >> In 1981, John Rice proposed RANGE variables.
> >> 
> >> These are in many respects similar to my proposal for a SECTION type.
> >> 
> >> I put Johns paper in the Tutorials folder, with the name
> >> Rice-1981.pdf.
> >> 
> >> Van
> >> 
> >> 
> >> 
> >> Disclaimer
> >> 
> >> The Numerical Algorithms Group Ltd is a company registered in England
> >> and Wales with company number 1249803. The registered office is:
> >> Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
> >> Please see our Privacy Notice for information on how we process
> >> personal data and for details of how to stop or limit communications
> >> from us.
> >> 
> >> This e-mail has been scanned for all viruses and malware, and may have
> >> been automatically archived by Mimecast Ltd, an innovator in Software
> >> as a Service (SaaS) for business.
> >> 
> >> 
> > 
> > 
> 
> Bill Long                                                                       longb at cray.com
> Principal Engineer, Fortran Technical Support &   voice:  651-605-9024
> Bioinformatics Software Development                      fax:  651-605-9143
> Cray Inc./ 2131 Lindau Lane/  Suite 1000/  Bloomington, MN  55425
> 
> 




More information about the J3 mailing list