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
340
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
150
BEAM: The Perfect Fit for Networks
whatyouhide
1
140
Testing Asynchronous OTP
whatyouhide
0
460
Elixir Sightseeing Tour
whatyouhide
0
350
Mint - Disrupting HTTP clients
whatyouhide
0
210
BEAM Architecture Handbook
whatyouhide
7
2.6k
The Evolution of a Language
whatyouhide
0
120
Elixir - functional, concurrent, distributed programming for the rest of us
whatyouhide
2
290
Papers we love: Elixir edition
whatyouhide
5
1k
Other Decks in Programming
See All in Programming
ECMAScript仕様を読むのに必要な知識 - ダイジェスト版
syumai
4
2.5k
Polars を Kaggle コンペで使ってみた(LMSYS Chatbot Arena)
kohecchi
1
360
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
940
Uncharted packages (Laravel Live Denmark)
freekmurze
0
140
全力の跳躍を捉える計測アプリを作る
ogijun2018
0
1k
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
610
connect-go で面倒くささと戦う / 2024-08-27 #newmo_layerx_go
izumin5210
2
590
GoのIteratorに詳しくなってしまう
inatonix
1
170
複雑さに立ち向かうための ソフトウェア開発入門
shiz
2
580
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
4
2.9k
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
200
令和トラベルにおけるLLM活用事例:社内ツール開発から得た学びと実践
ippo012
0
110
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Optimizing for Happiness
mojombo
375
69k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
27
8.9k
Facilitating Awesome Meetings
lara
49
5.9k
Art, The Web, and Tiny UX
lynnandtonic
294
20k
Making Projects Easy
brettharned
113
5.8k
Documentation Writing (for coders)
carmenintech
65
4.3k
Writing Fast Ruby
sferik
623
60k
Side Projects
sachag
451
42k
How GitHub (no longer) Works
holman
309
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
122
18k
How to Ace a Technical Interview
jacobian
275
23k
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