The what, why and how of type-safe, asynchronous pure functional programming in Python, with examples using the pfun library.
Functional programming has been gaining influence over the past decade, with many libraries based on functional programming ideas being developed for most main-stream languages. Languages that are heavily influenced by functional programming, such as Scala, have also been much more widely adopted over the past decade. In spite of these facts, we rarely see wide adoption of functional programming ideas in Python code bases. This is a shame, since there are many benefits to be had and much to be learned from functional programming ideas for Python programmers.
In this talk we introduce functional programming from the ground up starting with referential transparency, and explore the benefits to maintainability, understandability and testability that are gained from programming with pure functions. We will see examples of how to achieve referential transparency in Python, and how to use pure functional programming techniques for asynchronous programming using state-of-the-art techniques borrowed from other languages.