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 team - 2022
Search
Andrea Leopardi
May 20, 2022
Programming
0
360
Update from the Elixir team - 2022
Andrea Leopardi
May 20, 2022
Tweet
Share
More Decks by Andrea Leopardi
See All by Andrea Leopardi
The World is a Network (and We Are Just Nodes)
whatyouhide
0
170
BEAM: The Perfect Fit for Networks
whatyouhide
1
150
Testing Asynchronous OTP
whatyouhide
0
470
Elixir Sightseeing Tour
whatyouhide
0
380
Mint - Disrupting HTTP clients
whatyouhide
0
220
BEAM Architecture Handbook
whatyouhide
7
2.7k
The Evolution of a Language
whatyouhide
0
120
Elixir - functional, concurrent, distributed programming for the rest of us
whatyouhide
2
300
Papers we love: Elixir edition
whatyouhide
5
1k
Other Decks in Programming
See All in Programming
Security_for_introducing_eBPF
kentatada
0
110
テストコード文化を0から作り、変化し続けた組織
kazatohiei
2
1.5k
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
260
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
3
480
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
280
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
3
460
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
7
1.3k
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
210
From Translations to Multi Dimension Entities
alexanderschranz
2
130
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
190
情報漏洩させないための設計
kubotak
2
280
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
Producing Creativity
orderedlist
PRO
341
39k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Typedesign – Prime Four
hannesfritz
40
2.4k
Rails Girls Zürich Keynote
gr2m
94
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Into the Great Unknown - MozCon
thekraken
33
1.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Visualization
eitanlees
146
15k
Practical Orchestrator
shlominoach
186
10k
Transcript
Elixir Update from the core team May 2022
Andrea Leopardi @whatyouhide Elixir core team, engineer for
Recap Every 6 months (May, Nov) Non-breaking versions (1.x)
1.13
1.13 December 2021 Focused on developer experience
1.13 Semantic recompilation mix xref improvements Code.Fragment Formatter plugins
1.13 defmodule MixMarkdownFormatter do @behaviour Mix.Tasks.Format def features(_opts) do [sigils:
[:M], extensions: [".md", ".markdown"]] end def format(contents, opts) do # ... end end
1.13 # In .formatter.exs [ plugins: [MixMarkdownFormatter], inputs: [...] ]
None
1.14
June 2022 Requires OTP 23+ 1.14
PartitionSupervisor 1.14
Application supervisor Bottleneck process 1.14
Application supervisor Bottleneck process 1.14 PartitionSupervisor Bottleneck process Bottleneck process
children = [ {PartitionSupervisor, child_spec: {ErrorReporter, []}, name: Reporters} ]
1.14
def report_error(err) do ErrorReporter.report( {:via, PartitionSupervisor, {Reporters, self()}}, err )
end 1.14
Slicing with steps 1.14
1.14 1..10//2
1.14 Enum.slice(~w(a b c d e f g h), 1..4//2)
#=> ["b", "d"]
Expression-based inspection 1.14
1.14 IO.inspect(Version.parse!("1.0.0")) #=> #Version<1.0.0> Before:
1.14 IO.inspect(Version.parse!("1.0.0")) #=> Version.parse!("1.0.0") Now:
1.14 Version Version.Requirement MapSet Date.Range
1.14 __repr__ Python's
Improved errors in binary construction* 1.14 *thanks Erlang!
1.14 In OTP 25 (part of EEP 54)
1.14 int = 1 bin = "foo" int <> bin
** (ArgumentError) argument error
1.14 int = 1 bin = "foo" int <> bin
** (ArgumentError) construction of binary failed: segment 1 of type 'binary': expected a binary but got: 1
elixir-lang.org @whatyouhide