Fortran 通讯:2020 年 10 月#
欢迎阅读 2020 年 10 月版的每月 Fortran 通讯。时事通讯在每个月的第一个日历日发布,详细介绍上个月的 Fortran 新闻。
fortran-lang.org#
这个月我们对网站只有一个小改动:
#136: 编译器页面开头句中的小修复
正在进行的工作:
让我们知道 如果你对网站及其内容有任何建议。我们欢迎任何新的贡献者加入网站,尤其是教程页面 —— 请参阅 贡献者指南 了解如何开始。
Fortran 标准库#
本月我们改进了 stdlib_ascii
模块,并添加了日志工具。
#238:通过添加显式转换改进了
stdlib_stats
模块。#228:
stdlib_logger
模块的实现。它提供了一个全局记录器实例,以便在用户应用程序中轻松使用,如果需要多个并发记录器,它还提供一个logger_type
派生类型。请参阅 记录器规范 了解更多信息。
工作正在进行中:
否则,正在进行的讨论将继续:
@MarDiehl 和 @arjenmarkus 在 该仓库。请尝试一下,如果有任何问题,或者 API 是否可以改进,请告诉我们它是如何工作的。
Fortran 包管理器#
本月对 fpm 的 Fortran 实现进行了十多项添加和改进:
#186:实现版本字符串验证和比较
#185:更新 CI 工作流程
#182:用于进一步开发子命令的 CLI 接口
#180:递归源码发现
#178: 添加更多示例包
#177:允许对单个套件和测试进行选择性测试
#175:更新了 Markdown 文档的格式
#174:在 CI 中构建缓存 Haskell 堆栈
#171: 增加 fpm manifest 的测试覆盖率
#170:源码解析测试
#163: 使用不同的策略来获取 git 依赖
#162:更新了操作系统类型识别
#157:实现读取 fpm.toml
#155:内部依赖和构建后端
工作正在进行中:
fpm 仍处于早期开发阶段,我们需要尽可能多的帮助。以下是你今天可以提供的帮助:
尝试使用它。它是否正常工作?没有吗?请让我们知道!阅读 fpm 打包指南 了解如何使用 fpm 构建你的包。
浏览 开启的 issues,看看你是否可以帮助实施任何修复或功能。
为 fpm 调整 Fortran 包并将其提交到 Registry。
改进文档。
fpm 的短期目标是使具有依赖关系的 Fortran 包的开发和安装更容易。其长期目标是构建一个丰富且分散的 Fortran 包生态系统,并创建一个健康的环境,在该环境中轻松创建和发布新的开源 Fortran 项目。
编译器#
经典 Flang#
我们继续评估并再次将拉取请求合并到原始 Flang 编译器中。在过去的一个月中,我们进行了几项更改。
一个重要的合并是对 LLVM 10 的支持,这需要使用一个新的分支,即 LLVM monorepo 的 classic-flang-llvm-project 分支。有关详细信息,请参阅 PR#1。
其它最近合并到 Classic Flang 中的拉取请求包括:
Classic Flang 每两周一次的电话会议已经建立,以讨论下一个要验证和合并的拉取请求的问题和计划。我们的下一个电话将是太平洋时间 10 月 7 日星期三和 21 日上午 8:30。可以在 此处 找到以前电话会议的笔记、即将举行的议程和加入电话会议的链接。
LLVM Flang#
LLVM Flang 的工作仍在继续,专注于语义、降低和运行时足以编译和运行 Fortran 77 程序。
结合 fir-dev fork(用于降低的 Fortran IR)中基于 MLIR 的代码,Flang 可以编译和运行大多数 F77 程序,包括 Fortran Compiler Validation Suite (FCVS)。我们继续致力于将 fir-dev fork 上游到 LLVM 法兰所需的重构。
Arm 为法兰的成熟驱动做出了贡献。
AMD 继续增加对 OpenMP 语义和降低的支持。
Valentin Clement 继续为 OpenACC 支持贡献解析和语义更改。这将是太平洋时间 10 月 5 日星期一上午 8:30 下一次 Flang 技术社区电话会议的主题。
Michael Kruse 继续添加对使用 MSVC 在 Windows 上构建 Flang 的支持。
LFortran#
LFortran 的新功能:
2020 年 9 月合并了 59 个合并请求,修复了 3 个问题
FortranCon 2020 LFortran 视频现在 可用
LFortran,现在用 C++ 实现,已经超越了一年前的 Python 原型
Jupyter 笔记本现在可以像以前一样与 Python 原型一起使用
添加了一个新笔记本,展示了如何在 Jupyter 中可视化 AST、ASR 和 C++ 翻译 (!624)
X86 后端直接生成 x86-32 机器码(在 Debug 模式下编译速度非常快)
进一步的解析器改进
初始 Fortran 模块支持
对使用 GFortran 模块的初始支持 (!632)
更好的编译器错误消息 (!617)
交互式提示 (REPL) 现在可以理解箭头键 (!603)
你可以在 Twitter 上关注 LFortran 以获取最新更新:@lfortranorg。
活动#
我们在 9 月 25 日举行了第四次 Fortran 月度电话会议。你可以观看下面的录音:
贡献者#
我们感谢过去一个月为 fortran-lang 做出贡献的每个人,他们在以下任何存储库中发表评论: