Fortran newsletter: June 2021#
Welcome to the June 2021 edition of the monthly Fortran newsletter. The newsletter comes out at the beginning of every month and details Fortran news from the previous month.
fortran-lang.org#
This month we’ve had several updates to the website:
#269: Grammar and typo fixes in main page and quickstart minibook
#261: Script for summarizing PRs
#259: MapTran3D, RPNcalc, Gemini3D and Blocktran were added to the package index
#253: Fixed grammar in Easy to learn section
Ongoing work:
#255 (WIP): Quickstart edits
#246 (WIP): Transferring fortran90.org “Fortran Best Practise” into a mini-book
#201 (WIP): Internationalization for fortran-lang
Let us know if you have any suggestions for the website and its content. We welcome any new contributors to the website and the tutorials page in particular - see the contributor guide for how to get started.
Fortran Standard Library#
Here’s what’s new in stdlib
:
#417: Add GCC-11 to workflow
#415: Corrected Ubuntu version
#407: Changed to_title to to_sentence and implemented correct to_title
#359: Add general contributing guidelines to stdlib
#355: Implement clip function
Work in progress:
#420 (WIP): First implementation of real-valued linspace.
#419 (WIP): Allow modification of install directory for module files
#418 (WIP): Improved support for NAG
#414 (WIP): Implemented intelligent slice functionality
#408 (WIP): Addition of the stdlib_sorting module
#363 (WIP): Add sort to stdlib_string_type module
#353 (WIP): Initial checkin for a module for tolerant comparison of reals
#333 (WIP): Provide abstract base class for a string object
#313 (WIP): Legendre polynomials and Gaussian quadrature
#311 (WIP): Implementation of a module for handling lists of strings
#272 (WIP), #273 (WIP), #276 (WIP), #278 (WIP): Implementation of the
stdlib_stats_distribution
modules. It provides probability distribution and statistical functions.#189 (WIP): Initial implementation of sparse matrices.
Please help improve stdlib by testing and reviewing pull requests!
The candidate for file system operations to be included in stdlib is being developed by @MarDiehl and @arjenmarkus in this repository. Please try it out and let us know how it works, if there are any issues, or if the API can be improved.
Fortran Package Manager#
Here is what is new in fpm:
#450: Remove coarray flag from intel debug settings
#423: Use default instead of master to reference the repository HEAD
Work in progress:
First beta release (WIP): First feature-complete release of the Fortran implementation.
#483 (WIP): Allow fpm to change the working directory
#451 (WIP): Refactor: use objects to represent compilers and archiver
#449 (WIP): Response files with ar on Windows
#444 (WIP): Allow to find include files / modules in CPATH environment variable
#364 (WIP): Plugin alpha version
fpm
is still in early development and we need as much help as we can get.
Here’s how you can help today:
Use it and let us know what you think! Read the fpm packaging guide to learn how to build your package with fpm, and the manifest reference to learn what are all the things that you can specify in the fpm.toml file.
Browse existing fpm packages on the fortran-lang website
Browse the open issues and see if you can help implement any fixes or features.
Adapt your Fortran package for fpm and submit it to the Registry.
Improve the documentation.
The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy environment in which new open source Fortran projects are created and published with ease.
Compilers#
LFortran#
39 Merge Requests merged
Features that can now be compiled (in the LLVM backend):
More nested functions and callbacks (the context is properly propagated)
Runtime: size, lbound, ubound
Return statement
More array operations and declarations
Array initializer expressions
Features in ASR only (semantics):
Runtime intrinsics: min, max, allocated
Features in AST only (syntax):
Co-arrays
Methods
Enumerations
Attributes in
use
BOZ constants
Forall
More interfaces
Import
Implicit statements
Select type
The following people contributed code in May 2021:
Gagandeep Singh (@czgdp1807)
Thirumalai Shaktivel (@Thirumalai-Shaktivel)
Ondřej Čertík (@certik)
Dominic Poerio (@dpoe)
Events#
We had our 12th Fortran Monthly call on May 20. You can watch the recording below:
Google Summer of Code program has announced the allocation of students to each project. Fortran-lang received six studens (one through NumFOCUS) who will work across three subprojects: stdlib, fpm, and LFortran. Congratulations and welcome to students Aman Godara, Rohit Goswami, Jakub Jelínek, Chetan Karwa, Thirumalai Shaktivel, and Gagandeep Singh. Read the full post here.
As usual, subscribe to the mailing list and/or join the Discourse to stay tuned with the future meetings.
Contributors#
We thank everybody who contributed to fortran-lang in the past month by commenting in any of these repositories: