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 Programming
Search
bbense
October 30, 2014
Programming
1
200
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
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
190
HUIT新歓2024「競技プログラミング、やってみませんか?」
slephy2784
1
260
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
380
Rethinking UI building strategies @ SFI 2024
letelete
0
270
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
180
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
170
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
1.1k
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
220
雑に思考を整理する技術と効能
konifar
58
28k
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
200
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
200
コードレビューで学ぶ!Kotlinオブジェクト指向デザインパターン
akkie76
2
190
Featured
See All Featured
In The Pink: A Labor of Love
frogandcode
138
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.3k
Building Flexible Design Systems
yeseniaperezcruz
318
37k
The Cost Of JavaScript in 2023
addyosmani
14
3.8k
Become a Pro
speakerdeck
PRO
10
4.5k
YesSQL, Process and Tooling at Scale
rocio
163
13k
Code Review Best Practice
trishagee
54
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
321
20k
How to Ace a Technical Interview
jacobian
272
22k
Large-scale JavaScript Application Architecture
addyosmani
503
110k
The Invisible Side of Design
smashingmag
294
49k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
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