-
Why Elixir?
-
Basic Setup
-
Syntax Overview
- Types
- Operators
- Pattern Matching
- Control Flow
- Comprehensions
-
Basic DS
- Lists
- Tuples
- Tagged Tuples
- Strings
-
Pattern Matching
-
Continued on DS
- Keyword Lists
- List of Tagged Tuples
- Maps
- Using Pattern Matching for Updating DS
- Access Behaviour/Module
- Keyword Lists
-
Sigils
-
Functions
- Arity
- Overloading
- Guard Statements
- Default Values
- Anonymous Function
- Handle to a named function
- Recursion in lieu of loops
-
Enums & Streams
- Pipe (
|>
)
- Pipe (
-
Processes
- Spawning
- Sending & Receiving
- send ,
- receive, do: ->
- flush()
- Process.alive?
- self()
-
Processes continued
- Tasks
- Maintaining State in Process
-
Import, Alias, Use, Require
-
Structs & Protocols
-
Typespecs
-
Behaviour
-
Errors
- raise
- throws
- exit
-
Mix / ExUnit
-
OTP: GenServers
-
OTP: Supervisors & Monitors
-
Phoenix Framework
- With html
- With live
-
Distributed Elixir using Node
-
Low level Networking (:gen_tcp, :gen_udp, :socket)
-
NIFs
-
Macros & DSLs