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
Elixir: Gentle Introduction to Functional Progr...
Search
bbense
October 30, 2014
Programming
1
210
Elixir: Gentle Introduction to Functional Programming
Slides for a lightning talk introducing elixir at the Stanford IT Unconference
bbense
October 30, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
160
TDD 実践ミニトーク
contour_gara
1
290
ソフトウェアテスト徹底指南書の紹介
goyoki
1
140
機能追加とリーダー業務の類似性
rinchoku
2
1.1k
サーバーサイドのビルド時間87倍高速化
plaidtech
PRO
0
710
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
200
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
110
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
250
オープンセミナー2025@広島LT技術ブログを続けるには
satoshi256kbyte
0
170
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
Namespace and Its Future
tagomoris
6
700
MLH State of the League: 2026 Season
theycallmeswift
0
230
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Faster Mobile Websites
deanohume
309
31k
Git: the NoSQL Database
bkeepers
PRO
431
66k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Building an army of robots
kneath
306
46k
Done Done
chrislema
185
16k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Designing Experiences People Love
moore
142
24k
We Have a Design System, Now What?
morganepeng
53
7.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Transcript
Elixir: An Introduction to Functional Programming Booker C. Bense :
[email protected]
None
None
None
None
None
None
None
def build_paths(:help) do IO.puts @moduledoc System.halt(0) end
def build_paths(:help) do IO.puts @moduledoc System.halt(0) end
None
None
None
args |> parse_args |> build_paths |> background |> process |>
cleanup
args |> parse_args |> build_paths |> background |> process |>
cleanup
None
• { code , results } = File.Stat(path) • {
:ok , results } = File.Stat(path)
• { code , results } = File.Stat(path) • {
:ok , results } = File.Stat(path)
None
def build({options,[head | tail]}) do {options,process( head ),tail } end
def build_paths(:help) do IO.puts @moduledoc System.halt(0) end
def build({options,[head | tail]}) do {options,process( head ),tail } end
def build_paths(:help) do IO.puts @moduledoc System.halt(0) end
None
def sum_list([head|tail], accumulator) do sum_list(tail, head + accumulator) end def
sum_list([], accumulator) do accumulator end
def sum_list([head|tail], accumulator) do sum_list(tail, head + accumulator) end def
sum_list([], accumulator) do accumulator end
None
if( a == 1 , do: b = 1, :else
b = 2) if a == 1 do b = 1 else b = 2 end
if( a == 1 , do: b = 1, :else
b = 2) if a == 1 do b = 1 else b = 2 end
None
time elixir --erl "+P 1000000" -r chain.exs -e "Chain.run(1_000_000)" {13896652,
"Result is 1000000”} 15.75 real 7.26 user 8.45 sys
time elixir --erl "+P 1000000" -r chain.exs -e "Chain.run(1_000_000)" {13896652,
"Result is 1000000”} 15.75 real 7.26 user 8.45 sys
None
Erlang OTP Concurrency Actors, Tasks, Applications GenServer GenEvents
Erlang OTP Concurrency Actors, Tasks, Applications GenServer GenEvents
More Resources • www.elixir-lang.org - Installation instructions and excellent tutorial.
• Goggle Groups : elixir-lang-talk • Stack Overflow: tag elixir