This talk, given by Andrew Lelechenko at Lambda Days, discusses the use of Haskell for mathematical libraries; opposed to scientific libraries which has been described as 'a lump of Fortran-ish code with an API from 1970s.'
Andrew is a software developer from London with a strong background in mathematics and computer science. After receiving his PhD degree, he went into industry and ended up developing a compiler of the domain-specific language for finance and trading, implemented in Haskell. His main open-source contributions are mathematical libraries with a focus on performance. This talk demonstrates a modern approach to the design of mathematical libraries, leveraging advanced functional programming and type theory for the greater good. Our subject is `arithmoi`, a Haskell library for number theory research. We will discuss an effect of dependent types, laziness and type classes on library design, achieving both expressivity and computational efficiency.