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
PLT-A4 IO Monad
Search
kanaya
August 02, 2025
Education
0
12
PLT-A4 IO Monad
kanaya
August 02, 2025
Tweet
Share
More Decks by kanaya
See All by kanaya
PLT-14 IO Monad
kanaya
0
20
SCA-07 Art and Entertainment
kanaya
0
76
PLT-A3 Maybe Monad
kanaya
0
25
PLT-A2 Closure
kanaya
0
24
PLT-A1 Programming Principles
kanaya
0
23
PLT-X1 Division by Zero and Maybe
kanaya
1
41
IUM-03-Short Series of Functions
kanaya
0
110
PLT-02 How to Count Words
kanaya
0
75
IMU-00 Pi
kanaya
0
390
Other Decks in Education
See All in Education
令和政経義塾第2期説明会
nxji
0
130
Webリテラシー基礎
takenawa
0
12k
Pydantic(AI)とJSONの詳細解説
mickey_kubo
0
160
2025年度春学期 統計学 第11回 分布の「型」を考える ー 確率分布モデルと正規分布 (2025. 6. 19)
akiraasano
PRO
0
150
AWSと共に英語を学ぼう
amarelo_n24
0
130
AI for Learning
fonylew
0
180
2025年度春学期 統計学 第4回 データを「分布」で見る (2025. 5. 1)
akiraasano
PRO
0
160
JPCERTから始まる草の根活動~セキュリティ文化醸成のためのアクション~
masakiokuda
0
210
Pythonパッケージ管理 [uv] 完全入門
mickey_kubo
22
19k
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019538FNR)
signer
PRO
1
2.1k
JOAI2025講評 / joai2025-review
upura
0
370
Human-AI Interaction - Lecture 11 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
490
Featured
See All Featured
KATA
mclloyd
32
14k
Visualization
eitanlees
146
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Building Applications with DynamoDB
mza
96
6.5k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
332
22k
Building an army of robots
kneath
306
45k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Transcript
pineapple.cc ۚ୩Ұ࿕ʢ࡚େֶใσʔλՊֶ෦ʣ ʲิʳ*0Ϟφυ ϓϩάϥϛϯάݴޠ
pineapple.cc Value Func Value’ x′  = fx
pineapple.cc Value Func Value’ Func3 Func2 Func1 • • x′
 = (h ∙ g ∙ f)x
pineapple.cc x = (user input)
pineapple.cc toUpper :: Char -> Char x :: [Char] y
:: [Char] x = “Hello, world.” y = map toUpper x
pineapple.cc x’ :: IO [Char] y’ :: IO [Char] x’
= getLine y’ = map toUpper x’ — ERROR!! toUpper :: Char -> Char x :: [Char] y :: [Char] x = “Hello, world.” y = map toUpper x
pineapple.cc x’ :: IO [Char] y’ :: IO [Char] x’
= getLine y’ = fmap (map toUpper) x’ toUpper :: Char -> Char x :: [Char] y :: [Char] x = “Hello, world.” y = map toUpper x
pineapple.cc x’ :: IO [Char] y’ :: IO [Char] x’
= getLine y’ = (toUpper <$>) <$> x’ toUpper :: Char -> Char x :: [Char] y :: [Char] x = “Hello, world.” y = toUpper <$> x ผղ
pineapple.cc Value Func Value’ Value Func Value’