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
Update from the Elixir Core Team - 2017
Search
Andrea Leopardi
June 09, 2017
Programming
0
110
Update from the Elixir Core Team - 2017
Andrea Leopardi
June 09, 2017
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
520
Elixir Sightseeing Tour
whatyouhide
0
430
Mint - Disrupting HTTP clients
whatyouhide
0
250
BEAM Architecture Handbook
whatyouhide
7
2.8k
The Evolution of a Language
whatyouhide
0
160
Other Decks in Programming
See All in Programming
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
6
960
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
2
250
AI Ramen Fight
yusukebe
0
110
テスターからテストエンジニアへ ~新米テストエンジニアが歩んだ9ヶ月振り返り~
non0113
2
240
効率的な開発手段として VRTを活用する
ishkawa
1
180
リッチエディターを安全に開発・運用するために
unachang113
1
230
Hack Claude Code with Claude Code
choplin
8
2.8k
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
220
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
12
7.4k
フロントエンドのパフォーマンスチューニング
koukimiura
6
2.2k
構文解析器入門
ydah
7
1.8k
副作用と戦う PHP リファクタリング ─ ドメインイベントでビジネスロジックを解きほぐす
kajitack
2
430
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
710
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
530
The Pragmatic Product Professional
lauravandoore
35
6.8k
The Cult of Friendly URLs
andyhume
79
6.5k
Agile that works and the tools we love
rasmusluckow
329
21k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
It's Worth the Effort
3n
185
28k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Transcript
Update from the Elixir team elixir-lang.org
Elixir v1.0 Sep 2014 > 180 contributors
Elixir v1.4 Jan 2017 > 520 contributors
Release every 6 months v1.5 → mid 2017 v1.6 →
beg 2018 ... → ...
IMPROVEMENTS IN v1.5
UTF-8 atoms :""
Contributed back to OTP
test "こんにちは世界" do assert :こんにちは世界 end
josé = "wat" josé #=> "wat" UTF-8 VARIABLES http://erlang.org/pipermail/erlang-questions/2012-October/069820.html
Exception.blame/3
None
None
None
GenStage + Flow
A B C stages of computation with backpressure GenStage
parallel computations on collections Flow File.stream!("path/to/some/file") |> Flow.from_enumerable() |> Flow.flat_map(&String.split(&1,
" ")) |> Flow.partition() |> Flow.reduce(fn -> %{} end, fn word, acc -> Map.update(acc, word, 1, &(&1 + 1)) end) |> Enum.to_list()
None
http://bit.ly/genstage
Many small improvements CHANGELOG.md
FUTURE
Deprecate tuple calls
{List, []}.first() List.first({List, []})
Dynamic supervisor
simple_one_for_one confusing/mixed API documentation
simple_one_for_one confusing/mixed API documentation DynamicSupervisor
RESEARCH PROJECTS
Data streams + Property testing
test "starts_with?/2" do assert for s1 <- Data.string(), s2 <-
Data.string() do String.starts_with?(s1 <> s2, s1) end end
Google Summer of Code
ExFormat def foo ( a, b ) do a+ b
end def foo(a, b) do a + b end
Language Server Protocol http://langserver.org
GenHTTP Functional, flexible HTTP client
github.com/elixir-lang/elixir
elixir-lang.org