This month we’ve had several updates to the website:
#276: Add LATTE tight-binding molecular dynamics code to package index
#275: Add crest program to package index
#255: Quickstart edits
#273: Add the SNaC package to package index
#272: Add QUICK to package index
#277 (WIP): Add projects for Fortran-lua interfacing to package index
#274 (WIP): Add convert_FORTRAN_case formatter to package index
#246 (WIP): Transferring fortran90.org “Fortran Best Practices” into a mini-book
#201 (WIP): Draft: 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
#313: Legendre polynomials and gaussian quadrature
#432: Outer product
#439: Reduce time spent on sorting tests
#440: Make maximum rank an option
#433: Implemented low level find function for string matching
#414: Implemented intelligent slice functionality
#428: Fix issue with stdlib_sorting
#419: Allow modification of install directory for module files
#430: Remove support for GCC 7 and 8
#424: Add separate logical kind parameters
Work in progress:
#445 (WIP): Add
dispfunction to display your data
#444 (WIP): Add
format_stringto format other type to string
#441 (WIP): Implement pad function
#437 (WIP): [FPM] add fpm support
#436 (WIP): Implement low-level replace_all function
#426 (WIP): Addition of a subroutine to compute the median of array elements
#420 (WIP): First implementation of real-valued linspace.
#363 (WIP): Sorting string’s characters according to their ASCII values
#353 (WIP): Initial checkin for a module for tolerant comparison of reals
#333 (WIP): Provide abstract base class for a string object
#311 (WIP): String list new
#286 (WIP): Probability Distribution and Statistical Functions – Beta Distribution Module
#278 (WIP): Probability Distribution and Statistical Functions – Gamma Distribution Module
#276 (WIP): Probability Distribution and Statistical Functions – Exponential Distribution Module
#273 (WIP): Probability Distribution and Statistical Functions – Normal Distribution Module
#272 (WIP): Probability Distribution and Statistical Functions – Uniform Distribution Module
#189 (WIP): Initial implementation of COO / CSR sparse format
#157 (WIP): Update CMAKE files
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#
Alpha release update: Last month saw the release of v0.3.0 for fpm which includes a number of new features and bug fixes.
Here is what is new in fpm:
#504: install.sh, README.md: Update version number, single source file extension
#501: Bump version for new release
#491: Catch execute_command_line errors and print useful messages
#500: Allow reading version number from file
#497: correct for equal sign in flag options to fix #495
#449: Response files with ar on Windows
#490: Minor fix to module parsing
#489: Redirect output when searching for archiver
#484: Add support for invoking simple plugins
#483: Allow fpm to change the working directory
Work in progress:
First beta release (WIP): First feature-complete release of the Fortran implementation.
#505 (WIP): quiet mode for #502
#498 (WIP): Draft - Compiler flags profiles
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.
49 Merge Requests merged
Improvements to array support in the LLVM backend and at the ASR level: array sections, allocatable arrays, and other improvements
Many parser fixes (
lfortran fmtworks on more projects): block data, common block, equivalence, custom operator declaration, flush, critical and event statements
More runtime functions: minval, maxval, real, sum, abs
Optional human readable mod files
We had our 13th Fortran Monthly call on June 15. You can watch the recording below:
Joint J3/WG5 (Fortran Standards Committees) meeting was held virtually from June 21-30 (Mondays and Wednesdays only). You can find all the papers that were discussed here. Highlights from the meeting:
Conditional expressions syntax for Fortran 202X (paper).
Protected components specifications and syntax for Fortran 202X (paper).
The generics feature planned for Fortran 202Y was discussed at depth (paper).
Jeff Hammond (NVidia Corporation) is the new J3 member as a voting alternate to Bryce Adelstein-Lelbach.
Target year for Fortran 202X is 2023, subject to change.
FortranCon 2021 will be held virtually from September 23-24, 2021. For more information, visit the FortranCon website.
Work has started for our Google Summer of Code program. You read about our students and their progress so far on Discourse: https://fortran-lang.discourse.group/c/gsoc-2021/11
We thank everybody who contributed to fortran-lang in the past month by commenting in any of these repositories: