Learn Functional Programming with Elixir
by Ulisses Almeida (2018)

Meetup: https://www.meetup.com/Los-Gatos-Rust-Reading-Group/events/277022891/
Zoom: https://us02web.zoom.us/j/84281187589
O’Reilly: https://learning.oreilly.com/library/view/learn-functional-programming/9781680505757/
Source code (zip file): https://media.pragprog.com/titles/cdc-elixir/code/cdc-elixir-code.zip

UPDATE March 25, 2021 - 9pm - After some lengthy discussion about Elixir books at the meetup, which ended up taking all of our time tonight, we have come up with a nice list of books to consider. We’ll be discussing those further next week. For now, it looks like the best book to go to from here, which would be conducive to good discussions and be informative for beginners, particularly on the topic of OTP, would be

  • Elixir in Action (2nd edition)

    Afterwards, we can shift gears and proceed onto more challenging books such as

  1. Designing Elixir Systems with OTP: Write Highly Scalable, Self-Healing Software with Layers

  2. Real-Time Phoenix: Build Highly Scalable Systems with Channels

  3. Concurrent Data Processing in Elixir: Fast, Resilient Applications with OTP, GenStage, Flow, and Broadway


UPDATE March 25, 2021 - We’re back to meeting today to cover Chapter 5. Yay! Hopefully we’ll be able to wrap up the book in the next couple of weeks.

March 24, 2021 - For lack of interest at Chapter 5 of this seven-chapter book, Thursday nights are switching over to deep learning in a couple of weeks. If there is interest in doing the Elixir book “Programming Phoenix”, please let me know. I plan to finish the last two chapters of “Learn FP with Elixir” on my own. Thanks to all who have participated up to this point, making it a fun entry into this new language!

Chapter 5

Using Higher-Order Functions

March 25, 2021

Presenter

Creating Higher-Order Functions for Lists

--

Using the Enum Module

--

Using Comprehensions


Pipelining Your Functions

--

Be Lazy

--

Exercises 1 - 4


Chapter 4

Diving into Recursion
February 25, 2021
March 4, 2021

Presenter

Surrounded by Boundaries

Ganesh

Conquering Recursion

Casey

Tail-Call Optimization

--

Functions Without Borders

--

Using Recursion with Anonymous Functions

--

Exercises 1 - 5

--

Chapter 3

Using Pattern Matching to Control the Program Flow

February 18, 2021

Presenter

Making Two Things Match

Casey

Unpacking Values from Various Types

Ganesh

Control Flow with Functions

Abhik

Expanding Control with Guard Clauses

Ganesh

Elixir Control-Flow Structures

Casey

Exercises 1 - 4

Casey, Ganesh

Chapter 2
Working with Variables and Functions

February 11, 2021

Presenter

Representing Values
Executing Code and Generating a Result
Binding Values in Variables

Ganesh

Creating Anonymous Functions

Casey

Naming Functions

Ganesh

Exercises 1 - 4

Casey