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
420
Update from the Elixir team - 2022
Andrea Leopardi
May 20, 2022
Tweet
Share
More Decks by Andrea Leopardi
See All by Andrea Leopardi
The Umbrella and the Range
whatyouhide
0
19
gen_statem - OTP's Unsung Hero
whatyouhide
2
270
The World is a Network (and We Are Just Nodes)
whatyouhide
1
230
BEAM: The Perfect Fit for Networks
whatyouhide
1
210
Testing Asynchronous OTP
whatyouhide
1
530
Elixir Sightseeing Tour
whatyouhide
0
440
Mint - Disrupting HTTP clients
whatyouhide
0
270
BEAM Architecture Handbook
whatyouhide
7
2.9k
The Evolution of a Language
whatyouhide
0
170
Other Decks in Programming
See All in Programming
Stay Hacker 〜九州で生まれ、Perlに出会い、コミュニティで育つ〜
pyama86
1
630
What's New in Web AI?
christianliebel
PRO
0
120
Module Harmony
petamoriken
1
160
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
140
ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界
shiita0903
1
320
しっかり学ぶ java.lang.*
nagise
1
270
KoogではじめるAIエージェント開発
hiroaki404
1
450
Honoを技術選定したAI要件定義プラットフォームAcsimでの意思決定
codenote
0
150
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
10
8.6k
チーム開発の “地ならし"
konifar
6
3.8k
What’s Fair is FAIR: A Decentralised Future for WordPress Distribution
rmccue
0
160
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
270
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Designing for Performance
lara
610
69k
Thoughts on Productivity
jonyablonski
73
4.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Music & Morning Musume
bryan
46
6.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Faster Mobile Websites
deanohume
310
31k
KATA
mclloyd
PRO
32
15k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
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