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
Functional Programming
Search
Howard, Chang
August 23, 2016
Programming
0
48
Functional Programming
Functional Programming concept (in JavaScript). Internal share in RingCentral.
Howard, Chang
August 23, 2016
Tweet
Share
Other Decks in Programming
See All in Programming
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
410
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
50
33k
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
220
RailsGirls IZUMO スポンサーLT
16bitidol
0
170
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.9k
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
530
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
280
技術同人誌をMCP Serverにしてみた
74th
1
630
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
150
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
0
210
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
750
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
270
Featured
See All Featured
It's Worth the Effort
3n
185
28k
Balancing Empowerment & Direction
lara
1
410
Making Projects Easy
brettharned
116
6.3k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
How GitHub (no longer) Works
holman
314
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Site-Speed That Sticks
csswizardry
10
680
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Docker and Python
trallard
44
3.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
500
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Transcript
Functional Programming
Outline • Why • What • How • Real world
use cases
Outline • Why (1 mins) • What (20 mins) •
How (10 mins) • Real world use cases (? mins)
Why • When I was young.
None
None
FP
None
What • Pure function • Function composition • Curry •
Partial application • Monads & Functor • Immutability
Pure function • The function always evaluates the same result
value given the same argument value(s). • Evaluation of the result does not cause any semantically observable side effect or output
Pure function • The function always evaluates the same result
value given the same argument value(s). • Evaluation of the result does not cause any semantically observable side effect or output. • Function must return something.
Function composition • Higher-order function • Decorator pattern • Factory
pattern • Strategy pattern
Curry
Curry
Partial application • Dependency injection • bind
Monads & Functor • Why: Chaining continuation • What: Container
• How:
Monads & Functor • Example: Options
Monads & Functor • Example: Array
Monads & Functor • Example: Promise
Monad & Functor • "Once you understand monads, you start
seeing them everywhere” - Eric Kidd
Monad & Functor
Monad & Functor
None
Monad & Functor • http://chrisdone.com/posts/monads-are-burritos
Immutability • Value, not place • “Can you give me
the log for this error?”
How • Function as things • Composition everything • Types,
not Class
How • Totality • Static type for modeling • Parameterise
all the things
Real World • React / Redux • Elm • Haskell
• Lisp
Real World • React / Redux • Elm • Haskell
• Lisp
React / Redux • React • Redux
Elm
Haskell
Reference