[Fwd: IR2099]

From: Chuck Swart - MTI <cswart_at_.....>
Date: Thu Aug 02 2007 - 19:50:13 PDT
-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


attached mail follows:



Chuck,

In last week's LRM SC meeting, while discussing issue 
#131, I had agreed to work with Peter in resolving any 
conflicts between our comments on IR2099. I should 
have done this earlier, but I was unwell for several 
days and am able to look at this only now. 

I read through Peter's comments again. I agree with 
what he says, and don't really see any conflict with 
what I had mentioned.

My issue can best be illustrated by example 9a in 
IR2099:

  package p1 is
     type T is (a,b,c);
     alias "=" is "=" [T,T return boolean];
     function "=" ( L,R : T) return boolean;
  end package p1;

Here we have the following declarations of "=".

1. The implicit declaration "="[T,T return boolean].

2. The alias declaration, in which the aliased operator
   is the implicit "=" from 1.

3. The explicit declaration of "=".

I believe we all agree that (1) and (2) should not be 
homographs. However, (2) and (3) are homographs and is 
illegal according to the proposed LRM changes in 2099.

My concern is that without (2), this would have been 
legal. And in principle 1 described in 2099, we say 

    "...The two declarations are viewed as if they 
     were multiple references to the same named 
     entity. ..."

If both (1) and (2) refer to the same named entity, and 
the situation described here is legal in the absence (2), 
why should the presence of (2) make this illegal? 

Regards,

-ajay
Received on Thu Aug 2 19:50:28 2007

This archive was generated by hypermail 2.1.8 : Thu Aug 02 2007 - 19:50:30 PDT