Ever since I started my Journey to Functional Programming, I’ve been watching a lot of talks and presentations that I found inspiring. Here’s a list, in no particular order, of talks I liked. Enjoy!
Functional programming
Haskell
- What Makes Haskell Unique — Michael Snoyman
- How Haskell is Changing my Brain — Alissa Pajer
- Denotational Design: From Meanings To Programs — Conal Elliott
- Next Level MTL — George Wilson
- Laws! — George Wilson
- Communicating with Types — Kris Jenkins
- Maintainable Software Architecture in Haskell (with Polysemy) — Paweł Szulc
- What are Types for, or are they only Against? — Conor McBride
- Explain List Folds to Yourself — Tony Morris
- Parametricity—The Essence of Information Hiding — Kris Nuttycombe
Scala
- Purely Functional I/O — Rúnar Bjarnason (a talk that made FP “click” for me!)
- Functional Programming for Beginners — Rúnar Bjarnason (poor quality, but very good talk, chock-full of ideas!)
- The Interpreter Pattern Revisited — Rúnar Bjarnason (a “sequel” to the previous talk)
- Functional Programming with Effects — Rob Norris
- Extreme Cleverness: Functional Data Structures in Scala — Daniel Spiewak
- The Making of an IO — Daniel Spiewak
- May Your Data Ever Be Coherent — Daniel Spiewak
- Pushing Types and Gazing at the Stars — Rob Norris
- Types vs Tests — Julien Truffaut
- FP to the Max — John De Goes
- Reasoning with Types — Adelbert Chang
Free monads
- Composable Application Architecture with Reasonably Priced Monads — Rúnar Bjarnason
- A Year living Freely — Chris Myers
- Why the free Monad isn’t free — Kelley Robinson
- Free all the functors — Alissa Pajer
Recursion schemes
- Pure Functional Database Programming with Fixpoint Types — Rob Norris
- Peeling the Banana: Recursion Schemes from First Principles — Zainab Ali
- Topiary and the art of origami — Zainab Ali
- Exploring Decision Trees with Matryoshka — Zainab Ali
- Recursion: Where Functional Programming Hits Bottom — Greg Pfeil
- Efficient Nanopass Compilers using Cats and Matryoshka — Greg Pfeil
- Recursion: schemes, algebras, finally tagless, data types — Alexander Konovalov
General
- 8 Lines of Code — Greg Young
- Functional Programming for the Object Oriented — Øystein Kolsrud
- From Dependency injection to dependency rejection — Mark Seemann
- Async injection — Mark Seemann
- Fundamentals of Lambda Calculus & Functional Programming in JavaScript - Part I — Gabriel Lebec
- A Flock of Functions: Combinators, Lambda Calculus, & Church Encodings in JS - Part II — Gabriel Lebec
- Adopting FP: A Human-First approach — Ken Scambler
- The Many Faces of Modularity — Eric Torreborre
Programming languages
- What FP can learn from Smalltalk — Aditya Siram (deech)
- The Most Beautiful Program Ever Written — William Byrd
- Four Languages from Forty Years Ago — Scott Wlaschin
- On the Expressive Power of Programming Languages — Shriram Krishnamurthi
- Turing’s Toy - The story of a mathematical idea that changed the world — Øystein Kolsrud
Mathematics and Logic
- Propositions as Types — Philip Wadler
- Finite of sense & infinite of thought — Ron Pressler
- A categorical view of computational effects — Emily Riehl
- A Taste of Type Theory — Bartosz Milewski
Makes you think
- Constraints Liberate, Liberties Constrain — Rúnar Bjarnason
- Compositional Programming — Rúnar Bjarnason
- The Future of Programming — Bret Victor
- Inventing on Principle — Bret Victor
- The art of destroying software — Greg Young
- Simple Made Easy — Rich Hickey
Rants
- Debugging Microservices in Production — Bryan Cantrill
- Programming is terrible—Lessons learned from a life wasted — Thomas Figg (tef)
- Why Johnny Can’t Code Good — Chris Allen
- We’re Doing It All Wrong — Paul Phillips
Timeless classics
- Wat — Gary Bernhardt
- Growing a Language — Guy Steele
- The computer revolution hasn’t happened yet — Alan Kay
- The Mess We’re In — Joe Armstrong
Miscellaneous
- The MoVfuscator - Turning
mov
into a soul-crushing RE nightmare — Christopher Domas