It feels a bit impolite to ask readers to download code and type mix commands just to run the examples. We have better tools now.

Advanced Functional Programming with Elixir book cover

Advanced Functional Programming with Elixir

Each chapter from the book is available as a Livebook notebook, letting you run examples right in your browser. Or, if you’re like me, you might prefer running the full set locally with Docker.

Chapters

Launch Description
▶️ Chap 1 Model the domain – rides, patrons, fast passes
▶️ Chap 2 Implement flexible equality with Eq
▶️ Chap 3 Express sorting and comparison with Ord
▶️ Chap 4 Combine with associative monoids
▶️ Chap 5 Build composable logic with predicates
▶️ Chap 6 Sequence operations using monads
▶️ Chap 7 Inject context with the Reader monad
▶️ Chap 8 Model optional data with Maybe
▶️ Chap 9 Handle success and failure with Either
▶️ Chap 10 Combine async + error handling with Effect

Running Locally with Docker

  1. Clone this repository:

    git clone https://github.com/JKWA/funpark_notebooks.git
    cd funpark_notebooks
    
  2. Start Livebook using Docker Compose:

    docker compose up
    
  3. Open your browser to http://localhost:8090

  4. Login password:

    funpark_12char
    

These aren’t just runnable copies—they’re invitations to explore. Stripped to the essentials, each notebook gives you a direct path to tweak, test, and internalize the ideas from the book.

Click a chapter. Try something. Break it. See what holds. That’s how real understanding forms.

Some readers will follow the book line by line. Others will jump in, change a definition, and see what happens. These notebooks support both. Review a concept, revisit a tricky spot, or use them as a playground to shape your own model of the domain.

Because, what if learning is in scope?

Repository

The notebooks are maintained here:
github.com/JKWA/funpark_notebooks