Functional programming

How to Get People Excited about Functional Programming • Russ Olsen & James Lewis

How to Get People Excited about Functional Programming • Russ Olsen & James Lewis

In this interview from GOTO Copenhagen 2024, author Russ Olsen and software architect James Lewis dive deep into the philosophy and practice of functional programming, using Clojure and Lisp as key examples. They discuss effective strategies for learning and teaching complex technical concepts, the cultural nuances of programming communities, and the inspirational power of large-scale engineering achievements like the Apollo moon landings.

Elm & Open Source: What's Next? • Evan Czaplicki & Kris Jenkins

Elm & Open Source: What's Next? • Evan Czaplicki & Kris Jenkins

Evan Czaplicki, creator of Elm, discusses the sustainability challenges of open-source that led to Elm's development pause, his new work on a full-stack typed functional language, and his thoughts on improving developer experience to make functional programming more accessible.

Lets See What We Can do! with F# Computation Expressions • Andrew Browne • YOW! 2015

Lets See What We Can do! with F# Computation Expressions • Andrew Browne • YOW! 2015

Andrew Browne demystifies F# Computation Expressions, showing how this powerful feature is a simple syntactic transformation. He demonstrates building custom expressions for handling optional values (maybe), asynchronous sequences, and even creating a Domain-Specific Language (DSL) with Free Monads for robust testing.

Combinators Revisited • Edward Kmett • YOW! 2018

Combinators Revisited • Edward Kmett • YOW! 2018

Edward Kmett revisits the historical approach of compiling lambda calculus to a fixed set of combinators, arguing for its renewed relevance. He contrasts it with modern super-combinator techniques (like GHC's G-machine), highlighting the latter's vulnerability to Spectre attacks. Kmett proposes that a combinator-based evaluation model, combined with SPMD on SIMD execution, offers a secure, highly-parallel alternative that could rival the performance of current systems while providing a unified foundation for advanced compiler features.