Fortran newsletter: February 2022#
Welcome to the February 2022 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#
Here’s what’s new and ongoing in the fortran-lang.org repo:
Work in progress#
#347 (WIP): Fortran Intrinsics
让我们知道 如果你对网站及其内容有任何建议。我们欢迎任何新的贡献者加入网站,尤其是教程页面 —— 请参阅 贡献者指南 了解如何开始。
Fortran 标准库#
Here’s what’s new in stdlib:
#276: Probability Distribution and Statistical Functions – Exponential Distribution Module
#605: [stdlib_math] Add function
diff
#613: Ignore hash testing binaries and logs
#617: Made format constant public
#622: Fix Gauss quadrature
Work in progress#
#611 (WIP): Hash maps
#604 (WIP): Add get_argument, get_variable and set_variable
#580 (WIP): Add terminal and color escape sequences
#552 (WIP): fixed bug in stringlist
#536 (WIP): Fix conversion warnings
#520 (WIP): [stdlib_io] add
disp
(display variable values formatted).#517 (WIP): adding SPEC_TEMPLATE.md #504
#514 (WIP): pop, drop & get with basic range feature for stringlist
#491 (WIP): Stdlib linked list
#473 (WIP): Error stop improvements
#363 (WIP): Sorting string’s characters according to their ASCII values
#286 (WIP): Probability Distribution and Statistical Functions – Beta Distribution Module
#278 (WIP): Probability Distribution and Statistical Functions – Gamma Distribution Module
#189 (WIP): Initial implementation of COO / CSR sparse format
请通过测试和审查拉取请求帮助改进 stdlib !
@MarDiehl 和 @arjenmarkus 在 该仓库。请尝试一下,如果有任何问题,或者 API 是否可以改进,请告诉我们它是如何工作的。
Fortran 包管理器#
Here’s what’s new in fpm:
#630: allow backfilling of current directory in fpm-new subcommand
#646: Respect user provided main-files
#645: Update module output directory command for flang-new/f18
fpm-docs#47 fpm-docs#46 fpm-docs#45 fpm-docs#44 fpm-docs#41 fpm-docs#39: French translation
fpm-docs#43: Add testing workflow for source examples
fpm-docs#40: Update Spanish translation
fpm-docs#37: zh_CN: Update Chinese translations
Work in progress#
#654 (WIP): Ignore hidden source files
#653 (WIP): Enable profiles in toml
#652 (WIP): Get user name and email using got config if available else use defaults
#648 (WIP): Add note about relocation of manifest reference
#622 (WIP): Cleanup the backend output
#608 (WIP): –env switch lets you specify the prefix of the compiler-related environment variables
#539 (WIP): Add parent packages into dependency tree
#498 (WIP): Compiler flags profiles
fpm-docs#42 (WIP): Dutch translation
fpm-docs#48 (WIP): Chinese translation improvements
fpm
仍处于早期开发阶段,我们需要尽可能多的帮助。以下是你今天可以提供的帮助:
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.
在 fortran-lang 网站 上浏览现有的 fpm 包
浏览 开启的 issues,看看你是否可以帮助实施任何修复或功能。
为 fpm 调整 Fortran 包并将其提交到 Registry。
改进文档。
fpm 的短期目标是使具有依赖关系的 Fortran 包的开发和安装更容易。其长期目标是构建一个丰富且分散的 Fortran 软件包生态系统,并创建一个健康的环境,在该环境中轻松创建和发布新的开源 Fortran 项目。
编译器#
Flang#
最近的开发更新:
FIR
Keep runtime function name in comment
Add a conversion for !fir.coordinate_of
Add a new memory allocation rewrite pass.
Correct and reenable test that was removed by MLIR.
Fix overallocation by fir-to-llvm-ir pass
OpenMP
Add some semantic checks for threadprivate and declare target directives
Simplify RaggedArrayHeader and make it plain C struct
Fix folding of ac-implied-do indices in structure constructors
Avoid code duplication in mixed expressions
Add test with shape for allocmem and freemem
Make the frontend driver error out when requesting multiple actions
Add semantics tests for co_reduce, co_min, and co_max
Use GNUInstallDirs to support custom installation dirs.
Enable support for conversion of recursive record types
Separate temporary and user-specified object files
update to reflect MLIR LLVM::GEPOp changes
Do not lose call in shape inquiry on function reference
Fix the documentation on how to build flang
Add tests for converting arrays and refs to arrays
Make the “flang” wrapper script check the Bash version
Fix handling of space between # and name in preprocessor stringification
RESHAPE(PAD=) can be arbitrary array rank
Any type can appear in a structure constructor for an unlimited polymorphic allocatable component
Implement semantics for DEC STRUCTURE/RECORD
Extension: initialization of LOGICAL with INTEGER & vice versa
Allow initialization in blank COMMON
Support extension intrinsic function variations on ABS
Allow pointers to non-sequence types in sequence types
“CFI” types for Fortran REAL and COMPLEX kinds 2, 3, 10, 16
Legacy extension: non-character formats
Signal runtime error on WRITE after ENDFILE
Don’t blank-fill remaining lines in internal output
Accept ENTRY names in generic interfaces
Support substring references in NAMELIST input
Call notes are recorded and available upon request here. Please contact Alexis Perry-Holby at aperry@lanl.gov for document access.
LFortran#
Compiling stdlib
with lfortran
Addition of ASR Optimization Passes
libasr
Miscellaneous
Contributors
We are looking for new contributors. Please do not hesitate to contact us if you are interested. We will help you get up to speed.
活动#
fpm has a new documentation website hosted at fpm.fortran-lang.org. This website will provide user-oriented tutorials and how-to guides, as well as developer-oriented reference documents and specifications. We welcome all contributions to the fpm documentation, including translations to other languages. Please visit the fpm-docs repo to get started.
We had our 22st Fortran Monthly call on January 17. You can watch the recording below:
贡献者#
我们感谢过去一个月为 fortran-lang 做出贡献的每个人,他们在以下任何存储库中发表评论: