Skip to content

cromwellryan/sweetelixir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sweet Elixir!

A Gentle Introduction to Erlang’s cute younger brother Elixir

elixir-lang

Getting Started

  1. What is Erlang?

Erlang is a functional language with focuses on concurrency and fault tolerance. It first appeared in 1986 as part of Ericsson's quest to build fault tolerant, scalable telecommunication systems. It was open-sourced in 1998 and has gone on to power large portions of the worlds telecom systems, in addition to some of the most popular online services.

  1. Why Elixir?

Elixir is a language is built on top of the Erlang VM. Elixir exists with the goal to build concurrent, distributed, fault-tolerant systems with productive and powerful language features. Mainstream languages were constructed around limited CPUs, threading, and shared-everything state. This concurrency models can become fragile and can make concurrent programs difficult to reason about. Other languages skirt these issues by running on a single CPU with multiple processes to achieve concurrency; however, as Moore's Law pushes us towards increasing multicore CPUs, this approach becomes unmanageable. Elixir's immutable state, Actors, and processes produce a concurrency model that is easy to reason about and allows code to be written distributively without extra fanfare. Additionally, by building on top of Erlang, Elixir can take advantage of all the libraries and advantages that the Erlang ecosystem has to offer.

  1. Setup
  2. Tools
  1. Numbers, atoms, strings, lists, tuples, ...
  2. Functions
  3. Operators
  4. Modules

Cheatsheet

Advanced

  1. Records & Protocols
  2. Pattern Matching
  3. Map/Reduce
  4. Pipeline
  5. Processes
  1. Stack Server (manual)
  2. GenServer, Supervisors
  3. Distributed Elixir, Tweet Aggregator

Web & DB

About

A Gentle Introduction to Erlang's Cute Little Brother

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages