Functional Programming 101
2026-10-23 –, Room 250

Functional programming is often seen as difficult or only relevant to languages like Haskell, but its core ideas can make anyone a better programmer. In this beginner-friendly talk, we'll explore concepts like pure functions, immutability, higher-order functions, and type-driven design using familiar examples from Python and Java before seeing how Haskell brings these ideas together. You'll learn how functional thinking leads to code that's easier to understand, test, and maintain, and leave with practical techniques you can apply in your everyday projects, regardless of the language you use.


Have you ever wondered why so many experienced developers recommend learning Haskell or functional programming, even if you never plan to use it at work? This session answers that question by introducing the core principles of functional programming in a practical, approachable way. We'll cover pure functions, immutability, function composition, higher-order functions, and how strong type systems can catch bugs before your code runs. Rather than focusing on theory, we'll connect these ideas to problems every developer faces and show examples in Python and Java before demonstrating how Haskell ties them together.

By the end of the talk, you'll understand why functional programming has influenced nearly every modern language and how adopting its mindset can help you write simpler, more reliable, and more maintainable software—whether you're contributing to open source, building production systems, or just looking to become a better thinker.

I'm a Software Engineer at Mercury, where I build infrastructure and backend systems for fintech products. My background includes distributed systems and backend development in Java and Python, and I've recently been diving deep into Haskell and functional programming. I'm passionate about making functional programming approachable and helping developers discover ideas that improve how they write software in any language.