Functional Programming Patterns in Elixir

Trainers:
Joseph Koski

Date & Time:
24 Mar 2026 09:00-17:00

Venue:
TBC

Description:

As the domain expands, logic starts to sprawl. This class steps back and teaches functional programming patterns in Elixir for decomposing problems so you can manage complexity.

We’ll use monoids when the problem is “combine these things,” with clear guarantees about how combination behaves. We’ll use optics for lawful ways to reach into and update nested structures. We’ll use monads when control flow gets tangled, so sequencing, failure, and branching stay readable without devolving into nested cases and tuple plumbing.

This is not about memorizing abstractions or adopting a library. It is about recognizing problem shapes, choosing a small composable pattern, and using it to make illegal states and illegal transitions hard to express.

COURSE OBJECTIVES

Participants will explore:

  • Functional Decomposition: breaking down problems into small composable behaviors
  • Combination: not just merging data, but combining logic and behavior
  • Lawfulness: learning to leverage lawful patterns to make illegal states unrepresentable
  • Functional Control: going beyond if/else control flow

TARGET AUDIENCE

Elixir developers who are curious about functional programming patterns: what to learn first, how the ideas fit together, and how they help solve real-world problems as systems grow.

COURSE TAKEWAYS

  1. A mental map of functional programming patterns: what to learn first, how they fit together, and why they matter.
  2. How functional programming patterns replace ad-hoc control flow with composable structure.
  3. How to build safer domain logic, even in a dynamic language like Elixir.

Experience level:
intermediate