From J.L.Schonfelder@liverpool.ac.uk Thu Feb 24 10:55:24 1994
Received: from mailhub.liverpool.ac.uk (mail.liv.ac.uk) by dkuug.dk with SMTP id AA24196
  (5.65c8/IDA-1.4.4j for <SC22WG5@dkuug.dk>); Thu, 24 Feb 1994 11:59:42 +0100
Received: from 138.253.31.129 by mailhub.liverpool.ac.uk with SMTP (PP) 
          id <17281-0@mailhub.liverpool.ac.uk>; Thu, 24 Feb 1994 10:55:25 +0000
From: "Dr.J.L.Schonfelder" <J.L.Schonfelder@liverpool.ac.uk>
Message-Id: <9402241055.AA21386@uxd.liv.ac.uk>
Subject: More on interp 125
To: SC22WG5@dkuug.dk (SC22/WG5 members)
Date: Thu, 24 Feb 1994 10:55:24 +0000 (GMT)
X-Mailer: ELM [version 2.4 PL23]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 3709
X-Charset: ASCII
X-Char-Esc: 29

From jls Thu Feb 24 10:36:45 1994
I am sending this note in responce to a number of reactions to my 
original comment.

I was well aware that this J3 meeting vote in favour of the distributed 
interpretation. I am also aware that at the Brussels meeting with a different
subset present, it voted for an interpretation that would have required
call by reference semantics.

The reason I am making a fuss is that the final say on this issue is a WG5
one and I believe that a serious diservice to users is being done.
That the meaning of the current standard is confused and essentially
internally inconsistent is clear. Merely, legislating to clarify the lack
of proper definition is a deriliction of responsibility in a standards 
committee (I am not apologising for strong language since I feel
formalising areas of non portability is NOT what standards bodies
should be about).
The issue as I see it, and I thought I had made this clear before, is
in one part of the standard target arguments are treated as if they like any
ordinary variable could be passed either by reference or by copy. In an other
it is recognised that such arguments are different because they may have
pointers associated with them and hence they should be passed by 
reference/descripter. Like all other cases where pass by descripter is
required matching attributes are needed and the interface must be explicit.
This is an inconsistency in definition and intent. It needs to be resolved
not by legalistic sophistry but by looking carefully at what provides the
most utility and least surprise to the user. 
If it is decided that allowing copyin/copyout semantics is of overriding
importance then not only should the interpretation say this, it should also 
remove the then unnecessary requirement that both actual and dummy be targets
and the interface explicit. It should be spelt out that any association
between a pointer and the actual argument is not reflected into the dummy 
argument and is not guaranteed to continue to exist after the call.
This would have some utility (not much in my opinion) but it would be possible
for a non target actual arguments to become associated with a target dummy
which could be then associated with local pointers and manipulated via these.
(Nag would like this see forwarded mail from JDC)
Or we should define properly the rules which use the explicit interface and
matching attributes to guarantee pass by reference for targets and hence
preserve associations between pointer and target across the call.
This I believe to be the better way of resolving the inconsistency. Programs
using both pointer and target arguments become portable and predictable.
Either way the proposed interpretation 125 is unacceptable.
I would like to argue strongly that the call by reference interpretation
is vastly to be preferred. The possibly reference possibly copy semantics
at the behest of the implementation will if ratified lead to programs that
are highly non-portable. Users on a call by reference machine will
write software that depends on the maintenance of pointer target association.
Such programs will fail in fairly enigmatic ways on machines that use 
copy semantics. This is a clear area where targets should be different from
ordinary variables which cant have pointer associations to be preserved
or otherwise. 
I believe WG5 should ask J3 to think again on this one.

-- 
Dr.J.L.Schonfelder
Director, Computing Services Dept.
University of Liverpool, UK
Phone: +44(51)794 3716
FAX  : +44(51)794 3759
email: jls@liv.ac.uk   



-- 
Dr.J.L.Schonfelder
Director, Computing Services Dept.
University of Liverpool, UK
Phone: +44(51)794 3716
FAX  : +44(51)794 3759
email: jls@liv.ac.uk   

