Effecting Pure Change - How anything ever gets done in functional programming languages

Anupam Jain

Senior Lead

S&P Global

About Anupam Jain

I am a Haskell developer with over a decade of FP experience, and currently employed as a Senior Lead at S&P Global where we build cutting edge financial solutions using Functional Programming.

Previously I founded GeoHangout.com which was built on a Functional Stack. In my spare time, I organise regular FP meetups in Delhi NCR and surrounding areas, as the founder of The Delhi NCR Haskell And Functional Programming Languages Group - https://www.meetup.com/DelhiNCR-Haskell-And-Functional-Programming-Languages-Group/. I often talk about web development and functional programming. Some of the slides are available - https://speakerdeck.com/ajnsit


Newcomers to functional programming are often mystified when they encounter pure functions and immutable data structures. A mathematical function which always produces the same output for the same input is so inflexible as to be almost useless! And surely how can you even represent even the simplest of dynamic program state without variables to store it in, to say nothing of fancy user interfaces, and complex input output.

This talk will present an overview of the various techniques that are used by functional programming languages to tackle state and external "effects" which are needed for any real world program. It will cover a large landscape ranging from Monads, to Algebraic Effects, to Functional Reactive Programming. And it will show how functional programming can be as *useful* for real world programs, as it is *beautiful*.

Share the talk