|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "Fortran newsletter: August 2021" |
| 4 | +category: newsletter |
| 5 | +author: Milan Curcic, Ondřej Čertík, Laurence Kedward |
| 6 | +--- |
| 7 | + |
| 8 | +Welcome to the August 2021 edition of the monthly Fortran newsletter. |
| 9 | +The newsletter comes out at the beginning of every month and details |
| 10 | +Fortran news from the previous month. |
| 11 | + |
| 12 | +<ul id="page-nav"></ul> |
| 13 | + |
| 14 | +## fortran-lang.org |
| 15 | + |
| 16 | +This month we've had several updates to the website: |
| 17 | + |
| 18 | +* [#281](https://github.com/fortran-lang/fortran-lang.org/pull/281): |
| 19 | + July newsletter |
| 20 | +* [#274](https://github.com/fortran-lang/fortran-lang.org/pull/274): |
| 21 | + Add `convert_FORTRAN_case` formatter to package index |
| 22 | +* [#277](https://github.com/fortran-lang/fortran-lang.org/pull/277): |
| 23 | + Add projects for Fortran-lua interfacing to package index |
| 24 | +* [#284](https://github.com/fortran-lang/fortran-lang.org/pull/284): |
| 25 | + PRs script updates |
| 26 | +* [#286](https://github.com/fortran-lang/fortran-lang.org/pull/286): |
| 27 | + Installation process for GFortran on OpenBSD |
| 28 | +* [#288](https://github.com/fortran-lang/fortran-lang.org/pull/288): |
| 29 | + Add Flatiron institute multipole libraries to the package index |
| 30 | +* [#289](https://github.com/fortran-lang/fortran-lang.org/pull/289): |
| 31 | + Small fix in packages index |
| 32 | +* [#291](https://github.com/fortran-lang/fortran-lang.org/pull/291): |
| 33 | + Bump addressable from 2.7.0 to 2.8.0 |
| 34 | +* [#293](https://github.com/fortran-lang/fortran-lang.org/pull/293): |
| 35 | + add Apogee and Edinburgh compilers |
| 36 | +* [#290](https://github.com/fortran-lang/fortran-lang.org/pull/290): |
| 37 | + Add arrayfire-fortran to package index |
| 38 | +* [#294](https://github.com/fortran-lang/fortran-lang.org/pull/294): |
| 39 | + compilers: use more objective tone |
| 40 | +* [#296](https://github.com/fortran-lang/fortran-lang.org/pull/296): |
| 41 | + my software with at least 5 stars |
| 42 | +* [#297](https://github.com/fortran-lang/fortran-lang.org/pull/297): |
| 43 | + Fix insecure workflow. |
| 44 | + |
| 45 | +Ongoing work: |
| 46 | + |
| 47 | +* [#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): |
| 48 | + Transferring fortran90.org "Fortran Best Practices" into a mini-book |
| 49 | +* [#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): |
| 50 | + Draft: Internationalization for fortran-lang |
| 51 | + |
| 52 | +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. |
| 53 | +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/master/CONTRIBUTING.md) for how to get started. |
| 54 | + |
| 55 | +## Fortran Standard Library |
| 56 | + |
| 57 | +Here's what's new in stdlib: |
| 58 | + |
| 59 | +* [#436](https://github.com/fortran-lang/stdlib/pull/436): |
| 60 | + implemented low-level `replace_all` function |
| 61 | +* [#454](https://github.com/fortran-lang/stdlib/pull/454): |
| 62 | + added `stdlib_math` to specs/index.md |
| 63 | +* [#453](https://github.com/fortran-lang/stdlib/pull/453): |
| 64 | + implemented count function |
| 65 | +* [#441](https://github.com/fortran-lang/stdlib/pull/441): |
| 66 | + implemented pad function |
| 67 | +* [#456](https://github.com/fortran-lang/stdlib/pull/456): |
| 68 | + slice function's documentation made user friendly |
| 69 | +* [#459](https://github.com/fortran-lang/stdlib/pull/459): |
| 70 | + Fix CMake variable usage |
| 71 | +* [#420](https://github.com/fortran-lang/stdlib/pull/420): |
| 72 | + First implementation of real-valued linspace. |
| 73 | +* [#468](https://github.com/fortran-lang/stdlib/pull/468): |
| 74 | + Update CI |
| 75 | +* [#469](https://github.com/fortran-lang/stdlib/pull/469): |
| 76 | + CMake: corrections and updates |
| 77 | +* [#426](https://github.com/fortran-lang/stdlib/pull/426): |
| 78 | + Addition of a subroutine to compute the median of array elements |
| 79 | +* [#474](https://github.com/fortran-lang/stdlib/pull/474): |
| 80 | + Bug fix: Allocatable argument 'x' is not allocated #472 |
| 81 | + |
| 82 | +Work in progress: |
| 83 | + |
| 84 | +* [#481](https://github.com/fortran-lang/stdlib/pull/481) (WIP): |
| 85 | + [`stdlib_linalg`] Update eye function. |
| 86 | +* [#480](https://github.com/fortran-lang/stdlib/pull/480) (WIP): |
| 87 | + [`stdlib_math`] Add seq function. |
| 88 | +* [#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): |
| 89 | + [`stdlib_linalg`] Add zeros, ones, ex function. |
| 90 | +* [#477](https://github.com/fortran-lang/stdlib/pull/477) (WIP): |
| 91 | + [`stdlib_linalg`] Add empty function. |
| 92 | +* [#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): |
| 93 | + Generating sorting subroutines specific to character type with fypp |
| 94 | +* [#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): |
| 95 | + Error stop improvements |
| 96 | +* [#470](https://github.com/fortran-lang/stdlib/pull/470) (WIP): |
| 97 | + Revival string list |
| 98 | +* [#467](https://github.com/fortran-lang/stdlib/pull/467) (WIP): |
| 99 | + implemented `move_alloc` for `string_type` |
| 100 | +* [#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): |
| 101 | + `stdlib_hash`: waterhash algorithm |
| 102 | +* [#452](https://github.com/fortran-lang/stdlib/pull/452) (WIP): |
| 103 | + Implementation of a map data type |
| 104 | +* [#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): |
| 105 | + [feature] `disp`(display your data) & `format_string`(format other type to string, see #444) |
| 106 | +* [#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): |
| 107 | + Add `format_string` routine to format other types to strings |
| 108 | +* [#437](https://github.com/fortran-lang/stdlib/pull/437) (WIP): |
| 109 | + [FPM] add fpm support |
| 110 | +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): |
| 111 | + Sorting string's characters according to their ASCII values |
| 112 | +* [#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): |
| 113 | + Initial checkin for a module for tolerant comparison of reals |
| 114 | +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): |
| 115 | + Probability Distribution and Statistical Functions -- Beta Distribution Module |
| 116 | +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): |
| 117 | + Probability Distribution and Statistical Functions -- Gamma Distribution Module |
| 118 | +* [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): |
| 119 | + Probability Distribution and Statistical Functions -- Exponential Distribution Module |
| 120 | +* [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): |
| 121 | + Probability Distribution and Statistical Functions -- Normal Distribution Module |
| 122 | +* [#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP): |
| 123 | + Probability Distribution and Statistical Functions -- Uniform Distribution Module |
| 124 | +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): |
| 125 | + Initial implementation of COO / CSR sparse format |
| 126 | +* [#157](https://github.com/fortran-lang/stdlib/pull/157) (WIP): |
| 127 | + Update CMAKE files |
| 128 | + |
| 129 | +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! |
| 130 | + |
| 131 | +The candidate for file system operations to be included in stdlib is being developed by |
| 132 | +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) |
| 133 | +in [this repository](https://github.com/MarDiehl/stdlib_os). |
| 134 | +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. |
| 135 | + |
| 136 | +## Fortran Package Manager |
| 137 | + |
| 138 | +Here's what's new in fpm: |
| 139 | + |
| 140 | +* [#507](https://github.com/fortran-lang/fpm/pull/507): |
| 141 | + optimize file listing |
| 142 | +* [#511](https://github.com/fortran-lang/fpm/pull/511): |
| 143 | + check name used for package, executable, test, or example |
| 144 | +* [#516](https://github.com/fortran-lang/fpm/pull/516): |
| 145 | + initialize allocatable strings before using in a comparison |
| 146 | +* [#517](https://github.com/fortran-lang/fpm/pull/517): |
| 147 | + Fix run |
| 148 | +* [#522](https://github.com/fortran-lang/fpm/pull/522): |
| 149 | + remove warnings and fix truncated help text |
| 150 | +* [#523](https://github.com/fortran-lang/fpm/pull/523): |
| 151 | + Fix compilation error in ifort |
| 152 | + |
| 153 | +Work in progress: |
| 154 | + |
| 155 | +* [#525](https://github.com/fortran-lang/fpm/pull/525) (WIP): |
| 156 | + proposal to close #525 by generating build/.gitignore |
| 157 | +* [#527](https://github.com/fortran-lang/fpm/pull/527) (WIP): |
| 158 | + Add objects for handling compiler and archiver |
| 159 | +* [#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): |
| 160 | + expand tabs |
| 161 | +* [#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): |
| 162 | + Draft: initial implementation of `implicit_none` |
| 163 | +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): |
| 164 | + Draft - Compiler flags profiles |
| 165 | + |
| 166 | +`fpm` is still in early development and we need as much help as we can get. |
| 167 | +Here's how you can help today: |
| 168 | + |
| 169 | +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/master/PACKAGING.md) to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/master/manifest-reference.md) to learn what are all the things that you can specify in the fpm.toml file. |
| 170 | +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) |
| 171 | +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. |
| 172 | +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). |
| 173 | +* Improve the documentation. |
| 174 | + |
| 175 | +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. |
| 176 | +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy |
| 177 | +environment in which new open source Fortran projects are created and published with ease. |
| 178 | + |
| 179 | +## Compilers |
| 180 | + |
| 181 | +### LFortran |
| 182 | + |
| 183 | +Updates for July 2021: |
| 184 | + |
| 185 | +* 90 [merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged) MRs, this month we have crossed 1000 total merged MRs, 12 total contributors |
| 186 | +* Parser: we asked the community to test it, several people have reported about |
| 187 | + 15 bugs, we have fixed all of them (AST) |
| 188 | +* Initial fixed form parser (AST) |
| 189 | +* Classes and class procedures (ASR, LLVM) |
| 190 | +* Many common array usage now works, including allocatable (ASR, LLVM) |
| 191 | +* Associate construct (ASR, LLVM) |
| 192 | +* Compile time evaluation of constant expressions (ASR) |
| 193 | +* 7 people contributed code: |
| 194 | + * Ondřej Čertík |
| 195 | + * Thirumalai Shaktivel |
| 196 | + * Gagandeep Singh |
| 197 | + * Rohit Goswami |
| 198 | + * Dominic Poerio |
| 199 | + * Andrew Best |
| 200 | + * Sebastian Ehlert |
| 201 | + |
| 202 | +We are looking for new contributors, so if you are interested, please [get in |
| 203 | +touch with us](https://lfortran.org/)! |
| 204 | + |
| 205 | + |
| 206 | +## Events |
| 207 | + |
| 208 | +* We had our 14th Fortran Monthly call on July 20. |
| 209 | +You can watch the recording below: |
| 210 | + |
| 211 | +<iframe width="560" height="315" src="https://www.youtube.com/embed/9goA20JAHls" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> |
| 212 | + |
| 213 | +* FortranCon 2021 will be held virtually from September 23-24, 2021. |
| 214 | +Registration is free of charge and is due by September 15. |
| 215 | +The first call for abstracts is due August 1, and the second is due September 1. |
| 216 | +For more information, visit the [FortranCon website](https://tcevents.chem.uzh.ch/event/14/). |
| 217 | + |
| 218 | +* Work is well under way started for our Google Summer of Code program. Read about our students and their progress so far on Discourse: <https://fortran-lang.discourse.group/c/gsoc-2021/11> |
| 219 | + |
| 220 | +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or |
| 221 | +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. |
| 222 | + |
| 223 | +## Contributors |
| 224 | + |
| 225 | +We thank everybody who contributed to fortran-lang in the past month by |
| 226 | +commenting in any of these repositories: |
| 227 | + |
| 228 | +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) |
| 229 | +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) |
| 230 | +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) |
| 231 | +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) |
| 232 | +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) |
| 233 | +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) |
| 234 | +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) |
| 235 | +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) |
| 236 | +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) |
| 237 | +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) |
| 238 | + |
| 239 | +<div id="gh-contributors" data-startdate="June 01 2021" data-enddate="June 30 2021" height="500px"></div> |
0 commit comments