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
Introduction to Functional Programming
Search
isa
April 02, 2015
Programming
2
370
Introduction to Functional Programming
isa
April 02, 2015
Tweet
Share
More Decks by isa
See All by isa
Innovative Thinking
isa
1
97
We are ThoughtWorks
isa
0
290
Hala Bireysellik mi?
isa
1
80
Agile Estimation & Agile Metrics
isa
1
260
Microservices
isa
13
530
Configuration Management
isa
2
150
Assuring Quality in Borsa Istanbul
isa
2
84
Software Development in the Wild
isa
4
130
Continuous Delivery
isa
4
110
Other Decks in Programming
See All in Programming
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
170
Ruby x Terminal
a_matsuda
7
590
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
1.2k
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
430
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
550
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.9k
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
270
CSC307 Lecture 13
javiergs
PRO
0
320
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
210
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
480
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
240
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
810
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Building an army of robots
kneath
306
46k
How to make the Groovebox
asonas
2
2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
The agentic SEO stack - context over prompts
schlessera
0
690
How STYLIGHT went responsive
nonsquared
100
6k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
120
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.4k
Amusing Abliteration
ianozsvald
0
130
Typedesign – Prime Four
hannesfritz
42
3k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
530
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Transcript
INTRODUCTION TO FUNCTIONAL PROGRAMMING
@ISAGOKSU THOUGHTWORKS Turkey
IMPERATIVE, DECLARATIVE functional
ƒ(x)
ƒ(x) o g(x) ƒog(x) = ƒ(g(x))
FIRST-CLASS CITIZEN, HIGH- ORDER FUNCTIONS, PURITY, SIDE-EFFECTS
State IMMUTABILITY
LAZINESS
TYPES Type Systems, Typeclasses, Kinds Higher-order Types, Proper Types, Type
constructors Higher-order Kinds, First-order Types
ARITY, PARTIAL APPLICATION FOLD, REDUCE Currying
PATTERN MATCHING SINGLE-VALUE, SINGLE-VARIABLE Tree-value
FUNCTORS, ALGEBRAIC DATA TYPES Monads, Monoids LIST COMPREHENSIONS, CONTINUATIONS REFERENTIAL
TRANSPARENCY, POLYMORPHISM PARAMETRIC POLYMORPHISM, LAMBDAS, CLOSURES
Q/A
None