Re: defining an arbitrary type in your newer Fortrans
- From: Walter Spector <w6ws_xthisoutx@xxxxxxxxxxxxx>
- Date: Tue, 28 Nov 2006 20:18:38 GMT
PJH wrote:
Thanks for this Walter
You are welcome.
I seem to remember either Microsoft PowerStation or DEC Fortran had a
(non-F90) user defined type that used the dot notation - I think it was
called a STRUCTURE or maybe a RECORD (my memory of the details is somewhat
hazy).
VAX Structures. DEC intentionally implemented something that was entirely
incompatible with the direction the Fortran Standards were heading. Then a
number of other vendors had to incorporate "VAX compatibility" into their
compilers - spreading the disease.
Possibly it was the overloaded operator in F90 that caused problems?
VAX structures did not support operator overloading, so it didn't cause as
big a mess. But with F90 operator overloading, it would have been a huge
mess.
Note that C does not have operator overloading. And while C++ does have some
operator overloading capabilities, it does not have Fortrans general ability
to create operators with names - like .mydotproduct. or .pauls_divide. or
..daves_vowel_reducer. and the like.
Still, no point in complaining as it certainly isn't going to change just
for me.
Water under the bridge.
But take heart. Someday we'll have Fortran 2003 type-bound procedures,
and also inheritance. Which should mitigate the issue to some extent for
codes that adopt a more OO style.
W.
.
- References:
- defining an arbitrary type in your newer Fortrans
- From: Ancient_Hacker
- Re: defining an arbitrary type in your newer Fortrans
- From: PJH
- Re: defining an arbitrary type in your newer Fortrans
- From: Walter Spector
- Re: defining an arbitrary type in your newer Fortrans
- From: PJH
- defining an arbitrary type in your newer Fortrans
- Prev by Date: Re: random numbers in fortran
- Next by Date: Re: defining an arbitrary type in your newer Fortrans
- Previous by thread: Re: defining an arbitrary type in your newer Fortrans
- Next by thread: Re: defining an arbitrary type in your newer Fortrans
- Index(es):
Relevant Pages
|