Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal List for 202X #162

Open
certik opened this issue Feb 29, 2020 · 8 comments
Open

Proposal List for 202X #162

certik opened this issue Feb 29, 2020 · 8 comments
Labels
Fortran 2023 Proposal targeting the next Fortran standard F2023 (previously called F202X)

Comments

@certik
Copy link
Member

certik commented Feb 29, 2020

Here is the list of issues approved by WG5 to go into 202X:

The list is described in the document N2165 US Feature list proposals for F202X (PL22.3) as available from https://wg5-fortran.org/documents.html, but unfortunately the link is dead. We also found the list in the minutes N2169 Minutes of the August 2019 Meeting in Tokyo available from https://wg5-fortran.org/f202x.html. Just in case, I am attaching the N2169 document to this issue, so that it does not get lost.

Once all such ideas are fully developed and passed by the J3 and WG5 Committees, then the 202X standard will get out, and we will work on 202Y.

In order to speed up the 202X release as well as to ensure that the community agrees with the proposals that the committee passes, I encourage wide community participation in the proposals for these features.

ISO-IECJTC1-SC22-WG5_N2169_Minutes_of_the_August_2019_Meeting_in_Tokyo.txt

@certik
Copy link
Member Author

certik commented Feb 29, 2020

As a community, I suggest we provide use cases (code) and syntax that we like. I can then ensure that the Committee's final proposals will work with the use cases that the community wants.

@zjibben
Copy link
Member

zjibben commented Mar 2, 2020

I found a copy of N2165 on my hard drive:

ISO-IECJTC1-SC22-WG5_N2165_US_Feature_list_proposals_for_F202X.txt

There are a few extra details that aren't in the minutes.

@zjibben zjibben added the Fortran 2023 Proposal targeting the next Fortran standard F2023 (previously called F202X) label Mar 2, 2020
@zjibben zjibben pinned this issue Mar 2, 2020
@zjibben
Copy link
Member

zjibben commented Mar 2, 2020

Here is the list of items, with added issue numbers where I found them. Some work needs to be done yet to add issues or find ones I missed, then making sure the background papers are listed in the related issues. We might also update the issue names to include the USxx item number. Feel free to edit this comment to add new info.

Update (Ondrej): I moved the list to the issue description above to make it more easier to see.

@shahmoradi
Copy link

@certik Ondrej, I am not sure where my requests for enhancements should go on the J3 repository. So I am going to list it here and hopefully you will know much better or help realize where I should submit them:

  1. Coarray slicing (equivalent of MPI_gather)

    real :: co_Vector[*]
    real, allocatable :: LocalVector(:)
    ...
    LocalVector = co_Vector[ 1 : num_images() ]
    ...

    As far as I am aware, coarray slicing is currently not supported in Fortran 2018. This feature, however, is highly desired for writing a more concise code and potentially enabling more compiler optimization. The equivalent standard-conforming code would be:

    integer :: i
    real :: co_Vector[*]
    real, allocatable :: LocalVector(:)
    ...
    allocate( LocalVector(1 : num_images()) )
    do i = 1, num_images()
        LocalVector(i) = co_Vector[i]
    end do
    ...
  2. the ability to use dummy optional arguments when not present in a procedure:

    function runSampler(chainSize)
        integer, intent(in), optional :: chainSize
        if (.not.present(chainSize)) chainSize = 10000
        ...

    This is similar to the RFE by Curcic et al, so I won't explain it further here.

  3. standardized support for a minimal healthy subset of the C/Fortran preprocessing features. preprocessors are essential for writing scalable code and many compilers are fully or partially support some level of preprocessing. C has this as part of the language. Adding preprocessors to Fortran would ensure that the community's use of preprocessors is more disciplined and supported by the language standard.

  4. further support for template metaprogramming. I know that this is already a highly popular RFE. So I just suffice to mention my strong support for it.

@certik
Copy link
Member Author

certik commented Jul 3, 2020

@shahmoradi I moved your comment to #174, let's discuss there. This issue #162 is for proposals that are already approved for 202X.

@h-vetinari
Copy link

Is there a good place to track the status/timeline of 202x? The WG5 page says:

Development Schedule

This is the current development schedule (see N2135) for Fortran 202x. See the Glossary for definitions of terms.

  • Started planning further revision 2017-06
  • Choose issues that need attention 2018-06
  • Preliminary choice of technical content 2019-08
  • Final choice of technical content 2020-06
  • CD constructed 2021-06
  • CD ballot initiated 2021-07

though the document from which this originates seems to be from 2017. I also looked at https://fortran-lang.org/ and https://fortran-lang.discourse.group/.

@certik
Copy link
Member Author

certik commented Jul 29, 2022

@h-vetinari that's a good question for the WG5 Convenor. @sblionel what is the best place to track the status/timeline for 202X?

@sblionel
Copy link
Member

sblionel commented Jul 29, 2022

Ah, I see I haven't updated that page. The current schedule is at https://wg5-fortran.org/N2151-N2200/N2185.txt We may end up 2-3 months late with the final steps, but we're on track to publish in the second half of 2023. The DIS is currently being constructed and should be available for ballot soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Fortran 2023 Proposal targeting the next Fortran standard F2023 (previously called F202X)
Projects
None yet
Development

No branches or pull requests

5 participants