FortranCon2021: Keynote: Fortran at the Intersection
Channel: FortranCon
Date: 15/11/2021

Speaker: Damian Rouson
Material: https://tcevents.chem.uzh.ch/event/14/contributions/59/

[Due to technical difficulties during the talk there is a short break in the middle of the talk.]

Although Fortran has evolved into a modern, multi-paradigm programming language, the research literature on Fortran more thoroughly addresses some paradigms, such as object-oriented and parallel programming, than others, such as functional programmin
g and programming by contract.  This talk will present new patterns for expressing concepts from these less-studied paradigms and will illuminate the subtle
interplay between each of the aforementioned paradigms.  The talk will demonstrate how error termination, a parallel execution concept, combines with object-orientated programming (OOP) to facilitate contract enforcement in pure procedures, a functio
nal programming concept.  The talk will highlight how user-defined operator semantics nudge the programmer toward writing purely functional expressions suitable for asynchronous parallelization, vectorization, or offloading to accelerators.  The talk
 will also describe how OOP supports asynchrony through the event_type derived type.  The talk will conclude with thoughts on intersectionality from a social science perspective, describing the experience of  someone from an underdog community strivi
ng to teach an underdog language new tricks.