Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Update from the Elixir team - 2022
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
620
The Umbrella and the Range
whatyouhide
0
74
gen_statem - OTP's Unsung Hero
whatyouhide
2
370
The World is a Network (and We Are Just Nodes)
whatyouhide
1
270
BEAM: The Perfect Fit for Networks
whatyouhide
1
280
Testing Asynchronous OTP
whatyouhide
1
590
Elixir Sightseeing Tour
whatyouhide
0
500
Mint - Disrupting HTTP clients
whatyouhide
0
320
BEAM Architecture Handbook
whatyouhide
7
3k
Other Decks in Programming
See All in Programming
すこし踏み込む CancellationToken
htkym
2
1.6k
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.2k
AHC070解法紹介
eijirou
0
150
Agents on Rails - Rails at Scale 2026
irinanazarova
0
320
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
330
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
120
mrbgem 三角測量 開発
ogom
0
180
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
840
カツオ、ご期待ください
suneo3476
0
140
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.3k
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
190
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
150
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
750
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
700
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Making Projects Easy
brettharned
120
6.8k
Code Review Best Practice
trishagee
74
20k
Deep Space Network (abreviated)
tonyrice
0
350
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
580
What's in a price? How to price your products and services
michaelherold
247
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
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