(j3.2006) Parent component of extension of abstract type

Tom Clune Thomas.L.Clune
Thu Nov 12 17:10:22 EST 2015


Sorry  - just realized that I misworded my final point.

I meant to say it would be nice if one could invoke the non-deferred methods in an abstract parent.   One can of course access the data components without needing to refer to the parent at all.

But, the non-deferred methods might invoke a deferred method ?

- Tom

> On Nov 12, 2015, at 5:01 PM, Tom Clune <Thomas.L.Clune at nasa.gov> wrote:
> 
> Van,
> 
> I raised essentially the same issue a while back (2-3 years ago).   The short answer is ?Yes - this is what was intended.?
> 
> One argument is that if you could access such a parent, then you would be able to invoke methods on it.   E.g., what if there was a deferred method?   And if you don?t have any deferred methods, why does it need to be abstract?
> 
> 
> But ? I agree that it would be nice if one could access the non-deferred items in an abstract parent.   In practice, I?ve found the situation where I miss the ability is extremely rare.
> 
> - Tom
> 
> 
> 
> 
> 
>> On Nov 12, 2015, at 4:32 PM, Van Snyder <Van.Snyder at jpl.nasa.gov <mailto:Van.Snyder at jpl.nasa.gov>> wrote:
>> 
>> It seems a bit strange that I can't access the parent component of an
>> object of a type that is an extension of an abstract type, but I can
>> access components of the parent component.  Is this what we intended?
>> 
>> program P
>> 
>>  type, abstract :: T0
>>    integer :: N = 42
>>  end type T0
>> 
>>  type, extends(t0) :: T1
>>  end type T1
>> 
>>  type(t1) :: V1, V2
>> 
>>  print '(a,i0)', 'V1 ', v1
>>  print '(a,i0)', 'V1%T0 ', v1%t0      ! Prohibited
>>  print '(a,i0)', 'V1%T0%n ', v1%t0%n
>> 
>>  v2 = v1
>>  v2%t0 = v1%t0                        ! Prohibited
>>  v2%t0%n = v1%t0%n
>> 
>> end program P
>> 
>> 
>> _______________________________________________
>> J3 mailing list
>> J3 at mailman.j3-fortran.org <mailto:J3 at mailman.j3-fortran.org>
>> http://mailman.j3-fortran.org/mailman/listinfo/j3
> 
> Thomas Clune, Ph. D. 	<Thomas.L.Clune at nasa.gov <mailto:Thomas.L.Clune at nasa.gov>>
> Software Infrastructure Team Lead
> Global Modeling and Assimilation Office, Code 610.1
> NASA GSFC		
> MS 610.1 B33-C128
> Greenbelt, MD 20771
> 301-286-4635
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> J3 mailing list
> J3 at mailman.j3-fortran.org
> http://mailman.j3-fortran.org/mailman/listinfo/j3

Thomas Clune, Ph. D. 	<Thomas.L.Clune at nasa.gov>
Software Infrastructure Team Lead
Global Modeling and Assimilation Office, Code 610.1
NASA GSFC		
MS 610.1 B33-C128
Greenbelt, MD 20771
301-286-4635













-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.j3-fortran.org/pipermail/j3/attachments/20151112/f85fef93/attachment-0003.html 



More information about the J3 mailing list