Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

snafu = Situation Normal All F%$*ed up


devel / comp.lang.fortran / Re: Parameterized Derived Types make first appearance in gfortran 8.0.0

SubjectAuthor
* Re: Parameterized Derived Types make first appearance in gfortran 8.0.0Amir Shahmoradi
`- Re: Parameterized Derived Types make first appearance in gfortran 8.0.0Paul Richard Thomas

1
Re: Parameterized Derived Types make first appearance in gfortran 8.0.0

<cf190b74-8260-454c-86f7-49afd0a1386en@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1828&group=comp.lang.fortran#1828

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:ad4:5748:0:b0:435:50b6:1163 with SMTP id q8-20020ad45748000000b0043550b61163mr9099652qvx.118.1647221413548;
Sun, 13 Mar 2022 18:30:13 -0700 (PDT)
X-Received: by 2002:a0d:d0c1:0:b0:2dc:5950:c72f with SMTP id
s184-20020a0dd0c1000000b002dc5950c72fmr16499577ywd.185.1647221413312; Sun, 13
Mar 2022 18:30:13 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!1.us.feeder.erje.net!3.us.feeder.erje.net!feeder.erje.net!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Sun, 13 Mar 2022 18:30:13 -0700 (PDT)
In-Reply-To: <8618d453-697e-4309-8fce-44f3f0ddcde4@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=173.175.224.50; posting-account=LJffKgoAAADQMF-j55CCv1tOmC5nD9M0
NNTP-Posting-Host: 173.175.224.50
References: <1d7ae71d-f989-4810-939d-f9d78596adc7@googlegroups.com>
<fd8a7c31-f250-4807-83ed-43c3b2e3c663@googlegroups.com> <aec190a1-b341-42da-95ad-f155cf2f6393@googlegroups.com>
<68cad02c-0280-4860-b310-e814931295aa@googlegroups.com> <4c9528d2-d445-4904-b3b0-d025883560fd@googlegroups.com>
<e923298f-5294-409c-9246-cd618233e426@googlegroups.com> <4e837ba7-3dd7-4864-9c44-1c1fd1e8ee5b@googlegroups.com>
<1dcb3c38-20be-4604-b34f-8983abdc00bc@googlegroups.com> <8618d453-697e-4309-8fce-44f3f0ddcde4@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <cf190b74-8260-454c-86f7-49afd0a1386en@googlegroups.com>
Subject: Re: Parameterized Derived Types make first appearance in gfortran 8.0.0
From: a.shahmoradi@gmail.com (Amir Shahmoradi)
Injection-Date: Mon, 14 Mar 2022 01:30:13 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 85
 by: Amir Shahmoradi - Mon, 14 Mar 2022 01:30 UTC

Dear Paul, First, I want to thank you for leading the PDT development efforts. It's a feat, especially given the unusual implementation complexities of PDTs.
Given that you have led much (or all) of the gfortran PDT development efforts, do you have any insights into the latest status of PDTs in gfortran 12 and its development timeline (in particular, fixing the kind type parameter bugs)?

I was redirected to this page by FortranFan (in response to my question about the status and the future of PDTs in gfortran here: https://groups.google.com/g/comp.lang.fortran/c/xwg5Ak-EwHc).

The kind type parameter is crucial for generic derived types and the existing PDT bugs in gfortran have slowed down the progress of our research project (other compilers have full nearly-bug-free implementations of PDTs), but we strive to keep the gfortran support along with other compilers.

I'd love to get involved and help the development of PDTs as much as my other obligations allow me. But in doing so, I need someone who can guide me (and others interested) along the way as I currently have zero experience with gfortran internals and the inner workings of PDTs. Perhaps this could be turned into a 2022 Google-Summer-of-Code project if it is not too late already.

Thanks again,
Amir S.

On Monday, January 1, 2018 at 12:07:41 PM UTC-6, paul.rich...@gmail.com wrote:
> On Sunday, 31 December 2017 04:10:14 UTC, FortranFan wrote:
> > On Saturday, December 2, 2017 at 2:27:49 PM UTC-5, paul.rich...@gmail.com wrote:
> >
> > > ..
> > > Apart from this, there are issues with type matching in interface comparisons ..
> >
> > @Paul,
> >
> > Thanks much for all your effort. Wish you many more retreats to enjoy that lead to many more blessings for the FOSS developers!
> >
> > Re: your comment above with "issues with type matching in interface comparisons", you may want to consider the test case below as well:
> >
> > --- begin code snippet ---
> > module m
> >
> > type :: t(ell)
> > integer, len :: ell
> > integer :: i(ell)
> > end type
> >
> > contains
> >
> > subroutine sub( a )
> > type(t(ell=*)), intent(inout) :: a
> > end
> >
> > end module m
> > ! main program
> > use m, only : t, sub
> >
> > type(t(ell=42)) :: foo
> >
> > call sub( foo )
> >
> > end
> > --- end code ---
> >
> > Upon compilation,
> > gfortran.exe -c p.f90
> > p.f90:20:18:
> > call sub( foo )
> > 1
> > Error: Type mismatch in argument 'a' at (1); passed TYPE(Pdtt) to TYPE(pdtt)
> Aaaah, its's the 'only' that has done that. I need to make sure that 't' is expanded to encompass the PDT instances in the USE statement.
>
> This is now PR83646.
>
> Thanks
>
> Paul

Re: Parameterized Derived Types make first appearance in gfortran 8.0.0

<0510e251-405f-4098-9c5a-d340fe96112en@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3215&group=comp.lang.fortran#3215

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:ac8:71ce:0:b0:3a5:7dd1:31e0 with SMTP id i14-20020ac871ce000000b003a57dd131e0mr2518935qtp.57.1673201011034;
Sun, 08 Jan 2023 10:03:31 -0800 (PST)
X-Received: by 2002:a37:8783:0:b0:6fc:86ec:6c53 with SMTP id
j125-20020a378783000000b006fc86ec6c53mr3916360qkd.487.1673201010810; Sun, 08
Jan 2023 10:03:30 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Sun, 8 Jan 2023 10:03:30 -0800 (PST)
In-Reply-To: <57d493d0-a234-4f70-a7a5-11ad62507437n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2a00:23c4:ac9c:a301:a1a2:716a:a3aa:8505;
posting-account=HvUZPgoAAAAcrlczjQmxlT215Ot2vYZd
NNTP-Posting-Host: 2a00:23c4:ac9c:a301:a1a2:716a:a3aa:8505
References: <1d7ae71d-f989-4810-939d-f9d78596adc7@googlegroups.com>
<fd8a7c31-f250-4807-83ed-43c3b2e3c663@googlegroups.com> <aec190a1-b341-42da-95ad-f155cf2f6393@googlegroups.com>
<68cad02c-0280-4860-b310-e814931295aa@googlegroups.com> <4c9528d2-d445-4904-b3b0-d025883560fd@googlegroups.com>
<e923298f-5294-409c-9246-cd618233e426@googlegroups.com> <4e837ba7-3dd7-4864-9c44-1c1fd1e8ee5b@googlegroups.com>
<1dcb3c38-20be-4604-b34f-8983abdc00bc@googlegroups.com> <8618d453-697e-4309-8fce-44f3f0ddcde4@googlegroups.com>
<cf190b74-8260-454c-86f7-49afd0a1386en@googlegroups.com> <3c69f849-6a34-4c48-981e-a347cb202f13n@googlegroups.com>
<b0cb2cfc-7936-4afd-89ef-70dfb488269en@googlegroups.com> <57d493d0-a234-4f70-a7a5-11ad62507437n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0510e251-405f-4098-9c5a-d340fe96112en@googlegroups.com>
Subject: Re: Parameterized Derived Types make first appearance in gfortran 8.0.0
From: paul.richard.thomas@gmail.com (Paul Richard Thomas)
Injection-Date: Sun, 08 Jan 2023 18:03:31 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 5746
 by: Paul Richard Thomas - Sun, 8 Jan 2023 18:03 UTC

Dear Amil,

While Steve and I have been involved for a long time, I must play tribute to the founding trio, who built gfortran from scratch to the point, where it was a viable f95 compiler and was worth the efforts of successive waves of maintainers: Andy Vaught (for the front end, which produces the intermediate representation), Paul Brook and Steven Bosscher (for the translation of the intermediate representation to TREE_SSA, which then plugs into the gcc infrastucture). Toon Moene's support on the gcc Steering Committee and testing to destruction of gfortran has been invaluable from the start.

Work started on gfortran, or g95 as was before the branch, in 1989. The first gcc ChangeLog is 2002 and is dominated by Paul and Steven. Steve Kargl's first entry is in June 2003. Of the presently active maintainers, Thomas Koenig, Jerry Delisle , Francois-Xavier Coudert and I do not appear until 2005. 2004/5 saw a large growth in the number of people contributing patches so that by the mid-naughties gfortran's f95 coverage was solid. Major f2003 features began to appear in the last half of that decade, with Daniel Kraft introducing the FINAL declaration in 2008, Janus Weil introducing polymorphism in 2009 and Parameterized Derived Types by me in 2017. Polymorphism and OOP steadily improved in a few years after it's introduction to the point where it could be relied upon. Finalization received a big boost in 2012 with Tobias Burnus's monumental "finalization_wrapper" but implementation remains incomplete to this day and is awaiting my recently posted patch for completion of Daniel and Tobias's work. I fear that, as described earlier in this thread, implementation of PDTs is fundamentally flawed. Thus it is unlikely that full f2003 compliance will be achieved until some time in 2023!

One might reasonably ask why there has been such a slow development towards f2003 compliance, even. I might be speculating somewhat but it seems to me that it is largely, for the main part, due to the motivation of the volunteer maintainers to add or improve features that are compatible with commercial vendors' offerings and reasonably reliable in all platforms. As the number of such features has fallen away, so have the contributors to gfortran. With a few exceptions, nearly all the work on gfortran since 2002 or 3 has been done on a voluntary, unpaid basis to meet immediate needs required to support specific coding needs. Such has been the weak demand for much beyond f95 that many of the commercial vendors ceased or slowed development and then fell by the wayside. Familiarity with C++ and/or the appearance of the likes of python meant that OOP support in gfortran grew relatively rapidly, the demand for consistent support for finalization has really only surfaced in recent years and PDTs are lagging further behind.

Thus, in my humble opinion, the "new generation of gfortran contributors" will only emerge if they are motivated either by need or are being paid to support gfortran. We give every assistance that that we can to newbies but our ability to do so is typically limited by our daytime jobs. That the gfortran compiler is written in C, with a tiny touch of C++, has also proven to be a barrier. All my younger colleagues are brought up to write their codes in Matlab/Octave or python and only delve into fortran when they have to and so the pool is ever diminishing.

If anybody wants a helping hand to write patches to fix bugs or add new features, please write to the gfortran list or get in touch with Jerry Delisle to join us on https://gfortran.cloud.mattermost.com/.

Best regards

Paul

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor