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
100
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
1
190
The World is a Network (and We Are Just Nodes)
whatyouhide
1
200
BEAM: The Perfect Fit for Networks
whatyouhide
1
180
Update from the Elixir team - 2022
whatyouhide
0
390
Testing Asynchronous OTP
whatyouhide
1
510
Elixir Sightseeing Tour
whatyouhide
0
410
Mint - Disrupting HTTP clients
whatyouhide
0
240
BEAM Architecture Handbook
whatyouhide
7
2.8k
The Evolution of a Language
whatyouhide
0
140
Other Decks in Programming
See All in Programming
Being an ethical software engineer
xgouchet
PRO
0
200
自分のために作ったアプリが、グローバルに使われるまで / Indie App Development Lunch LT
pixyzehn
1
150
MCP調べてみました! / Exploring MCP
uhzz
2
2.2k
AHC045_解説
shun_pi
0
430
CRE Meetup!ユーザー信頼性を支えるエンジニアリング実践例の発表資料です
tmnb
0
620
Devinのメモリ活用の学びを自社サービスにどう組み込むか?
itarutomy
0
2k
Compose Hot Reload is here, stop re-launching your apps! (Android Makers 2025)
zsmb
1
450
パスキーのすべて / 20250324 iddance Lesson.5
kuralab
0
150
英語 × の私が、生成AIの力を借りて、OSSに初コントリビュートした話
personabb
0
180
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
700
Enterprise Web App. Development (1): Build Tool Training Ver. 5
knakagawa
1
110
WordPress Playground for Developers
iambherulal
0
130
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
103
19k
How to Ace a Technical Interview
jacobian
276
23k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
A better future with KSS
kneath
239
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
It's Worth the Effort
3n
184
28k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
118
51k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
51
2.4k
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