Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Transfer and variables that don't use all their storage space.
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Michael Metcalf  
View profile  
 More options Apr 9 2007, 7:57 am
Newsgroups: comp.lang.fortran
From: "Michael Metcalf" <michaelmetc...@compuserve.com>
Date: Mon, 09 Apr 2007 11:57:23 GMT
Local: Mon, Apr 9 2007 7:57 am
Subject: Re: Transfer and variables that don't use all their storage space.

"James Giles" <jamesgi...@worldnet.att.net> wrote in message

news:welSh.27857$VU4.20719@bgtnsc05-news.ops.worldnet.att.net...

> The point I was making was that I believe the committee deliberately
> overlooked such issues.  The purpose of TRANSFER was to provide
> a means of doing things that the language otherwise didn't permit.
> The fact that such activities could be abused was the programmer's
> responsibility.

Well, it's 21(!) years ago, but my notes on the Halifax meeting in 1986
include:

"Transfer function

My attempts at the previous meeting to restore some form of storage mapping
had failed, but I had been asked to come back with proposals for a transfer
function to allow one area of storage to be viewed as containing more than
one data type. I had prepared two proposals for the meeting but, following
suggestions by John Reid, I rewrote the proposals in the form of a single
function able to return either scalar or array-valued results, depending on
a MOLD argument. This was accepted 20-4. This function would allow us [the
HEP community] to replace code of the form

COMMON//Q(10000)
INTEGER IQ(1)
EQUIVALENCE (IQ,Q)
:
PX = Q(IQ(L) + 3)

by

COMMON//Q(10000)
:
PX = Q(TRANSFER(Q(L), 0) + 3)  ! second argument moulds Q(L) to an
                                                         ! integer scalar"

The only remaining argument was whether the language should *deliberately*
contain an 'unsafe' feature. The functionality was always regarded as taking
two different views of the same storage.

HTH,

Mike Metcalf


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.