Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elixir Introduction
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Dimitar Kostov
April 05, 2016
Programming
0
36
Elixir Introduction
Dimitar Kostov
April 05, 2016
Tweet
Share
Other Decks in Programming
See All in Programming
CSC307 Lecture 04
javiergs
PRO
0
660
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.5k
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
20
7.1k
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Fragmented Architectures
denyspoltorak
0
150
Data-Centric Kaggle
isax1015
2
770
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
400
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
CSC307 Lecture 01
javiergs
PRO
0
690
Oxlint JS plugins
kazupon
1
850
Featured
See All Featured
Design in an AI World
tapps
0
140
Balancing Empowerment & Direction
lara
5
880
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
49k
The Curse of the Amulet
leimatthew05
1
8.4k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Everyday Curiosity
cassininazir
0
130
What's in a price? How to price your products and services
michaelherold
247
13k
Believing is Seeing
oripsolob
1
53
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
AI: The stuff that nobody shows you
jnunemaker
PRO
2
250
KATA
mclloyd
PRO
34
15k
Transcript
elixir
What is elixir ? + =
Agenda 1. History 2. Features 3. Tools 4. Frameworks and
libraries 5. Resources
Erlang • created in 1986 by Ericsson • open sourced
in 1998 • based on Prolog • battle tested
Erlang VM features • massively concurrent • fault tolerant –
“Let it crash” philosophy • distributed • hot code swapping • soft real time • garbage collected
Who uses Erlang ? • Ericsson • Amazon • Facebook
• Goldman Sachs • Whatsapp
Elixir history • created in 2012 • created by Jose
Valim
Who uses elixir ? • BT • Pinterest • Puppet
Labs • Lexmark • ThoughtBot • BrightCove
Elixir in a nutshell • functional • concurrent • syntax
inspired by Ruby and Clojure • meta programming • macros • protocols
Elixir in a nutshell • UTF-8 binaries strings • first
class documentation • first class regular expressions • pattern matching
Basic types • integer / float • boolean • atom
• string • list • tuple
Higher-level Types • Map • Keyword List • HashDict •
HashSet • Range • IO List
Map
Range
Modules
Functions
Functions
Pipe operator
Pipe operator
Control Flow • pattern matching • conditionals • loops
Pattern matching
Pattern matching
Pattern matching
Guards
Classical branching • if/else and unless/else • cond • case
• loops through recursion
Higher-order functions • Enum module • each • map •
reduce • filter • etc
Comprehensions
Structs
Protocols
Concurrency • Actor model based (CSP) • Lightweight processes •
Links • Tasks • Agents • OTP
Concurrency
Concurrency
OTP
Fault tolerance
Frameworks and libs • ExUnit and ExDoc/Test • Phonenix •
Ecto • Cowboy • OTP / ETS • Mnesia
Tools • iex • exdoc • mix • hex •
dialyzer • exrm
Resources • http://elixir-lang.org • http://hex.pm • http://phoenixframework.org
Resources • Programming Elixir • Elixir in Action • Introducing
Elixir • The Little Elixir and OTP Guidebook • Etudes for Elixir • Metaprogramming Elixir • Programming Phoenix
Resources • Elixir Sips • LearnElixir.tv • Elixir School
Demo • Phoenix App • :observer.start • exdoc
Thanks
None