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
A Completely Unbiased Showcase of Elixir
Search
Andrea Leopardi
September 09, 2016
Programming
2
370
A Completely Unbiased Showcase of Elixir
Andrea Leopardi
September 09, 2016
Tweet
Share
More Decks by Andrea Leopardi
See All by Andrea Leopardi
gen_statem - OTP's Unsung Hero
whatyouhide
2
250
The World is a Network (and We Are Just Nodes)
whatyouhide
1
220
BEAM: The Perfect Fit for Networks
whatyouhide
1
200
Update from the Elixir team - 2022
whatyouhide
0
410
Testing Asynchronous OTP
whatyouhide
1
530
Elixir Sightseeing Tour
whatyouhide
0
430
Mint - Disrupting HTTP clients
whatyouhide
0
260
BEAM Architecture Handbook
whatyouhide
7
2.8k
The Evolution of a Language
whatyouhide
0
160
Other Decks in Programming
See All in Programming
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
490
KessokuでDIでもgoroutineを活用する / Go Connect #6
mazrean
0
100
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
21
8.6k
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
9
710
tool ディレクティブを導入してみた感想
sgash708
1
150
Amazon Q CLI開発で学んだAIコーディングツールの使い方
licux
3
190
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
2
500
Flutterと Vibe Coding で個人開発!
hyshu
1
260
decksh - a little language for decks
ajstarks
4
21k
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
980
コーディングは技術者(エンジニア)の嗜みでして / Learning the System Development Mindset from Rock Lady
mackey0225
2
540
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
130
Featured
See All Featured
Facilitating Awesome Meetings
lara
55
6.5k
Practical Orchestrator
shlominoach
190
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Fireside Chat
paigeccino
39
3.6k
Rails Girls Zürich Keynote
gr2m
95
14k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
We Have a Design System, Now What?
morganepeng
53
7.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.4k
Docker and Python
trallard
45
3.5k
Building an army of robots
kneath
306
45k
Transcript
UNBIASED A COMPLETELY SHOWCASE OF ELIXIR
None
L F E OVEABLE, UN RLANG
ERLANG FOR HIPSTERS 2.0?
javascript/coffescript java/clojure javascript/elm
javascript/coffescript java/clojure javascript/elm ✓
.BEAM
1.0 September 2014 1.3 September 2016
GOOD STUFF IMPROVABLE STUFF ELIXIR + ERLANG
@whatyouhide
FOOTBALL ADDICTS
GOOD STUFF IMPROVABLE STUFF ELIXIR + ERLANG
GOOD STUFF IMPROVABLE STUFF ELIXIR + ERLANG
STANDARD LIBRARY
STREAMS
STREAMS "foo.txt" |> File.stream! |> Stream.map(...) |> Stream... |> Enum.to_list
METAPROGRAMMING
defmacro unless(cond, expr) do quote do if !unquote(cond) do unquote(expr)
end end end
defmacro unless(cond, expr) do quote do if !unquote(cond) do unquote(expr)
end end end
STRUCTS "official" data types
defmodule User do defstruct [:name, :age] end %User{name: "Meg", age:
33}
PROTOCOLS
JSON encoding json:encode({user, ...}) user:encode({...})
JSON encoding defprotocol JSON do def encode(_) end defimpl JSON,
for: User do def encode(user), do: ... end
ExUnit test "send/2" do send(self(), {:ok, 1}) assert_receive {:ok, _}
end
ExUnit test "send/2" do send(self(), {:ok, 1}) assert_receive {:ok, _}
end
tagging diff --stale
None
--stale don't run stale stinky tests
INTEROP WITH ERLANG for doing Real Work™
lists:map(fun(X) -> X + 1 end, [1, 2, 3]) :lists.map(fn(x)
-> x + 1 end, [1, 2, 3])
Enum.shuffle([1, 2, 3]) 'Elixir.Enum':shuffle([1, 2, 3])
MIX
DOCUMENTATION @doc """ Performs command """ def command(c), do: ...
DOCUMENTATION
ONBOARDING Getting Started guide Resources (books, ...) Error messages
ECOSYSTEM Phoenix Nerves Ecto, Plug, GenStage, ...
COMMUNITY
GOOD STUFF IMPROVABLE STUFF ELIXIR + ERLANG
DIALYZER
PROPERTY-BASED TESTING
USING ELIXIR FROM ERLANG
GOOD STUFF IMPROVABLE STUFF ELIXIR + ERLANG
just an app
WHICH ONE DO I USE ELIXIR ELIXIR ELIXIR ELIXIR ELIXIR
ELIXIR ELIXIR
APPRECIATE BOTH
POSSIBLE RULE OF THUMB libraries in Erlang (if they wouldn't
benefit from Elixir features) apps in Elixir /
hex.pm Erlang + Elixir
GOOD STUFF IMPROVABLE STUFF ELIXIR <3 ERLANG STDLIB EXUNIT METAPROGRAMMING
PROTOCOLS MIX DOCS ECOSYSTEM DIALYZER PROPERTY-BASED TESTS ELIXIR FROM ERLANG USE BOTH SHARE ON HEX BE NICE
@whatyouhide