Learn Elixir

This collection of episodes is a great place to start learning Elixir. These tutorials guide you through the core concepts that make Elixir powerful and unique.

You'll start with functions and control flow fundamentals, then discover pattern matching - Elixir's elegant way to destructure data and control program flow.

You'll explore Elixir's renowned concurrency model through practical introductions to GenServers (for stateful processes), Agents (for state management), and Tasks (for running concurrent code).

For web development, we cover Plug - the foundation of Phoenix and other Elixir web frameworks, teaching both function and module plugs. You'll also explore guards, which add powerful conditional logic to your pattern matching.

episode image

#10: Intro to Elixir Functions

If you want to get started using Elixir, but don’t know where to begin - this is a great place to start. We’ll dive into how to create and call named and anonymous functions in Elixir.

6m 19s
Watch Now →
episode image

#12: Intro to GenServer

Jump into the Elixir GenServer module. In this episode we’ll get started using GenServer to create a simple shopping list module that can we can use to add, remove, and view our groceries.

7m 48s
Watch Now →
episode image

#19: Intro to Function Plugs

Plug is an essential tool when building web applications in Elixir. In this episode we’ll dive into function plugs by building one and using it in an existing Phoenix application.

3m 3s
Watch Now →
episode image

#20: Intro to Module Plugs

In this episode we’ll get an intro to module plugs in Elixir. We’ll take an existing function plug and convert it into a module plug - highlighting the difference between the two.

4m 24s
Watch Now →
episode image

#24: Pattern Matching in Elixir

Pattern matching is one of the fundamental features of Elixir. In this episode we get a simple introduction to it and some of the ways it’s used in Elixir.

3m 47s
Watch Now →
episode image

#32: Intro to Agents

Elixir Agents are used to manage state. In this episode we’ll learn how we can use an Agent to update and retrieve some state of our own.

6m 25s
Watch Now →
episode image

#33: Elixir Control Flow

In this episode we’ll learn about three different control structures in Elixir: if/else, case, and cond. If you’re new to Elixir or just learning programming this is a great episode to start with.

3m 11s
Watch Now →
episode image

#34: Elixir Guards

In this episode we take a look at guards and how we can use them in Elixir. We’ll start by using guards with functions to see how they work. Then we’ll extract them into custom guards with defguard.

3m 42s
Watch Now →
episode image

Alchemist's Edition

#63: Getting Started with Tasks

In this episode we’ll be exploring one of the key features of Elixir: tasks. Tasks make it easy to run Elixir code concurrently. In this episode we’ll look at some common ways Task is used.

6m 6s
Watch Now →
episode image

#66: Pipe Operator

The pipe operator is one of the great features that makes it fun to write Elixir code. In this episode we’ll see how to use it to chain operations together in a way that’s easy to read.

2m 49s
Watch Now →
episode image

Alchemist's Edition

#72: Intro to Elixir Streams

In this episode we’ll get an introduction to Elixir Streams. We’ll see why they’re called “lazy enumerables” and how they can be composed to perform more complex transformations.

4m 17s
Watch Now →