Conveners
Minisymposium: Fortran-lang (invited speakers only)
- Milan Curcic (University of Miami)
- Ondřej Čertík (Los Alamos National Laboratory)
- Laurence Kedward (University of Bristol, UK)
- Sebastian Ehlert (Mulliken Center for Theoretical Chemistry, Bonn)
A new community of developers has formed to unite Fortran users and modernize the Fortran ecosystem.
In this presentation, we describe the high-level features of Fortran that continue to make it a good choice for scientists and engineers in the 21st century. We also outline ongoing community efforts including the development of a Fortran standard library and package manager, the fostering of...
LFortran has a Bison based parser implemented in the parser.yy file that can parse most of Fortran source code. The main objective of my GSoC project was to make sure that all the grammar rules defined are exposed to AST (Abstract Syntax Tree) level i.e., one has to systematically go over the parser file and make sure AST is always generated for all the grammar rules defined, resulting in...
In my Google Summer of Code, 2021 with LFortran under the umbrella of NumFOCUS, I worked on adding semantic and LLVM backend support for arrays and allocatables as per Fortran standards. Specifically, the project resulted in addition of support for array declaration, operations on arrays (slicing, unary and binary operations), allocatable arrays, automatic deallocation,...
The Fortran standard is a rather imposing document; though with F2018 at around 600 pages it is significantly lighter than its C++ counterpart. The standard itself is rarely cited as a beginner resource, with a cottage industry of books designed to shed light on the dry prose and foreboding technical rigor. However, with LFortran, particularly viewed through the lens of the Abstract Semantic...
The Fortran standard library (stdlib) is now well into its second year of development. In this past year, stdlib has grown not only in its functionality but in its contributor base, with most of the new development coming from new contributors, including two Google Summer of Code students. Stdlib provides new functionality for working with bit sets, logging, quadrature, sorting, strings, and...
To provide better support for strings, the Fortran Standard Library (stdlib) introduces stdlib_string_type, stdlib_strings and stdlib_stringlist module.
Since the start of the project, several string inquiry and manipulation procedures like pad, find, replace-all, etc have been added, adhering to the philosophy of unifying the community and providing simple and intuitive...
The Fortran-lang stdlib was introduced to provide extensive support to Fortran developers by providing modules that can be directly used in their programs. A linked list is one of the classical data structures that has numerous applications.
Example:
- It can be used as a self-growing container.
- It can store linearly dependent data. (web history, slides in some presentation, etc)
- Acts...
A language-specific package manager is an important element to build an efficient ecosystem of libraries and projects. Fortran has long missed a dedicated package manager, making the user experience of practitioners cumbersome. With the Fortran package manager (fpm) we are addressing these needs creating a reliable and productive tool that makes building applications and using libraries...
The Fortran Package Manager (fpm) aims to be a Fortran-specific build system to simplify compiling Fortran code and using third-party dependencies.
Fpm is currently in alpha development status and supports a wide range of features.
Recent work, undertaken as part of the Google Summer of Code programme, has implemented the syntax and logic required to provide fine-grain control of compiler...