Description
In this course, you will :
- learn how to use functions to create conditional code.
- In Elixir, you will learn about higher-order functions.
- learn how to use Elixir to model data, create contracts, and achieve polymorphism.
- learn how to create Elixir applications.
Syllabus :
1. Introduction to Functional Programming
- Functional Programming vs Imperative Programming
- Working with Immutable Data
- Building Programs with Functions
- Comparing Declarative and Imperative Programming
2. Working with Variables and Functions
- Introduction
- Representing Values
- Executing Code and Generating a Result
- Binding Values in Variables
- Functions as First-Class Citizens
- Creating Anonymous Functions
- Sharing Values without Using Arguments
- Named Functions and Modules
- Importing and Using Named Functions
3. Using Pattern Matching to Control Program Flow
- Making Two Things Match
- Unpacking Values from Strings and Tuples
- Unpacking Values from Lists, Maps, and Structs
- Control Flow with Functions
- Expanding Control Guard Clauses
- Elixir Control-Flow Structures
4. Diving into Recursion
- Introduction to Diving into Recursion
- Bounded Recursion
- Transforming Lists
- Conquering Recursion
- Tail-Call Optimization
- Unbounded Recursion
- Using Recursion with Anonymous Functions
5. Using Higher-Order Functions
- Introduction to Higher-Order Functions
- Creating Higher-Order Functions for Lists
- Using the Enum Module
- Using Comprehensions
- Pipelining Your Functions
- Lazy Evaluation
- Pipelining Data Streams
6. Designing Your Elixir Applications
- Starting Your Project with Mix
- Designing Entities with Structs
- Listing the Heroes
- Choosing a Hero
- Dungeon Rooms and Actions
- Using Protocols to Create Polymorphic Functions
- Creating Module Behaviors
- Adding Type Specifications
- Battling Through to the Exit
7. Handling Impure Functions
- Introduction to Handling Impure Functions
- Pure vs. Impure Functions
- Controlling the Flow of Impure Functions
- Trying, Rescuing, and Catching
- Handling Impure Functions with the Error Monad
- Using the with form