Fortran‐lang's 2025 wish list of TODOs - fortran-lang/webpage GitHub Wiki
DRAFT
The following list corresponds to key issues that some of the members of the community have identified as of high priority to continue strengthening the Fortran ecosystem and wish to promote to request contribution from the large community:
fpm
- Building shared libraries; will enable building python packages (and more) with a fpm workflow
- fpm registry
- Makefile backend
- dependency generation (replace other ad-hoc tools)
- standalone Makefile generation
- Documentation improvements
- use of local registry
- response files (https://github.com/fortran-lang/fpm-docs/discussions/154)
- Robustness/features
- fix some recompilation issues (sometimes it doesn't recompile correctly, or compiles too much, include files modifications might not been followed)
- improve the module dependency parser
- handling profiles / flags better https://github.com/fortran-lang/fpm/issues/1096
- running example/test programs individually should not trigger build of other programs
- enhance use of response files
stdlib
- System: expand API
- I/O: Pipes
- Linalg: IO for Matrix Market https://github.com/fortran-lang/stdlib/issues/763
- Linalg: Sparse Direct Solvers
- Linalg: Preconditioning (dense and sparse)
- Linalg: Graph-ordering algorithms: AMD, Cuthill-McKee, Reverse CM, Minimun Degree
- Linalg: Link to external high-performance libraries https://github.com/fortran-lang/stdlib/issues/934 https://github.com/fortran-lang/stdlib/pull/844
- CI/CD: add tooling for improved code quality https://github.com/fortran-lang/stdlib/issues/937 https://github.com/fortran-lang/stdlib/issues/944
LFortran
- Get LFortran to beta quality, meaning it is expected to work on most codes
- All Fortran 2023 support, excluding coarrays
- Compile to a binary, as well as working interactively in Jupyter
- See the issue https://github.com/lfortran/lfortran/issues/3806 for more details
Tooling
- VSCode+Modern Fortran+fpm : enable quick start with debuging
- fix configuration/installation problems of fortls and VSCode plugin --> LFortran LSP Server
- magic build button (using a Makefile or fpm backend) --> build integration of fpm in IDEs and text editors
- WEB: FPM template at Compiler Explorer https://github.com/compiler-explorer/compiler-explorer/issues/7380
- Plotting module dependency graphs
- JupyterLab (for Fortran courses)
- configuration of Fortran LSP, syntax highlighting and auto-completion support inside of JupyterLab
- magic commands for Jupyter (several competing third-party packages exist)
- Syntax highlighting for Fypp
- Syntax highlighting for Fortran namelists
- Sphinx FORD extension https://github.com/jalvesz/fspx https://github.com/Fortran-FOSS-Programmers/ford/issues/662
Learning material
- New tutorials on Fortran topics (array processing, callback functions, object-oriented programming, etc.)
- GPU training material with gfortran
- Better and standardized documentation on (MPI / CoArray) and (OpenMP / do concurrent)
Misc
- Review and improve disadvantages of Tree-sitter grammar and other ad-hoc parsing approaches robustness performance (Typescript calling Python calling regex library …)
- graph based compilation, avoid producing single .o/.mod in each process (LFortran / fpm)
- fpm <–-> compiler protocol (avoid reading and writing files to disk over and over)