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
460
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Update from the Elixir team - 2022
Andrea Leopardi
May 20, 2022
More Decks by Andrea Leopardi
See All by Andrea Leopardi
Agentic Elixir
whatyouhide
0
530
The Umbrella and the Range
whatyouhide
0
71
gen_statem - OTP's Unsung Hero
whatyouhide
2
360
The World is a Network (and We Are Just Nodes)
whatyouhide
1
260
BEAM: The Perfect Fit for Networks
whatyouhide
1
270
Testing Asynchronous OTP
whatyouhide
1
580
Elixir Sightseeing Tour
whatyouhide
0
500
Mint - Disrupting HTTP clients
whatyouhide
0
310
BEAM Architecture Handbook
whatyouhide
7
3k
Other Decks in Programming
See All in Programming
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
220
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.8k
高専キャリア LT 発表内容
crysta1221
4
4.3k
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
130
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
170
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.3k
高専、大学編入、そして未踏へ〜プロダクト開発とキャリアの歩み - Technical College, University Transfer, and On to “Mitou” / My Journey in Product Development and Career
pkmiya
0
100
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
460
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
400
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
460
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
440
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.2k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Ruling the World: When Life Gets Gamed
codingconduct
0
310
Typedesign – Prime Four
hannesfritz
42
3.1k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
420
It's Worth the Effort
3n
188
29k
Writing Fast Ruby
sferik
630
63k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
500
The World Runs on Bad Software
bkeepers
PRO
72
12k
We Are The Robots
honzajavorek
0
310
From π to Pie charts
rasagy
0
330
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