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 Core Team - 2017
Search
Andrea Leopardi
June 09, 2017
Programming
0
95
Update from the Elixir Core Team - 2017
Andrea Leopardi
June 09, 2017
Tweet
Share
More Decks by Andrea Leopardi
See All by Andrea Leopardi
The World is a Network (and We Are Just Nodes)
whatyouhide
0
180
BEAM: The Perfect Fit for Networks
whatyouhide
1
160
Update from the Elixir team - 2022
whatyouhide
0
370
Testing Asynchronous OTP
whatyouhide
0
480
Elixir Sightseeing Tour
whatyouhide
0
390
Mint - Disrupting HTTP clients
whatyouhide
0
230
BEAM Architecture Handbook
whatyouhide
7
2.7k
The Evolution of a Language
whatyouhide
0
130
Elixir - functional, concurrent, distributed programming for the rest of us
whatyouhide
2
310
Other Decks in Programming
See All in Programming
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
590
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
180
知られざるDMMデータエンジニアの生態 〜かつてツチノコと呼ばれし者〜
takaha4k
1
450
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
770
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
450
Alba: Why, How and What's So Interesting
okuramasafumi
0
210
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
1.4k
Amazon Nova Reelの可能性
hideg
0
200
快速入門可觀測性
blueswen
0
500
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
430
선언형 UI에서의 상태관리
l2hyunwoo
0
270
為你自己學 Python
eddie
0
520
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
328
21k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Optimizing for Happiness
mojombo
376
70k
Thoughts on Productivity
jonyablonski
68
4.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Facilitating Awesome Meetings
lara
51
6.2k
We Have a Design System, Now What?
morganepeng
51
7.3k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
jQuery: Nuts, Bolts and Bling
dougneiner
62
7.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
230
52k
Transcript
Update from the Elixir team elixir-lang.org
Elixir v1.0 Sep 2014 > 180 contributors
Elixir v1.4 Jan 2017 > 520 contributors
Release every 6 months v1.5 → mid 2017 v1.6 →
beg 2018 ... → ...
IMPROVEMENTS IN v1.5
UTF-8 atoms :""
Contributed back to OTP
test "こんにちは世界" do assert :こんにちは世界 end
josé = "wat" josé #=> "wat" UTF-8 VARIABLES http://erlang.org/pipermail/erlang-questions/2012-October/069820.html
Exception.blame/3
None
None
None
GenStage + Flow
A B C stages of computation with backpressure GenStage
parallel computations on collections Flow File.stream!("path/to/some/file") |> Flow.from_enumerable() |> Flow.flat_map(&String.split(&1,
" ")) |> Flow.partition() |> Flow.reduce(fn -> %{} end, fn word, acc -> Map.update(acc, word, 1, &(&1 + 1)) end) |> Enum.to_list()
None
http://bit.ly/genstage
Many small improvements CHANGELOG.md
FUTURE
Deprecate tuple calls
{List, []}.first() List.first({List, []})
Dynamic supervisor
simple_one_for_one confusing/mixed API documentation
simple_one_for_one confusing/mixed API documentation DynamicSupervisor
RESEARCH PROJECTS
Data streams + Property testing
test "starts_with?/2" do assert for s1 <- Data.string(), s2 <-
Data.string() do String.starts_with?(s1 <> s2, s1) end end
Google Summer of Code
ExFormat def foo ( a, b ) do a+ b
end def foo(a, b) do a + b end
Language Server Protocol http://langserver.org
GenHTTP Functional, flexible HTTP client
github.com/elixir-lang/elixir
elixir-lang.org