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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kanaya
August 02, 2025
Education
0
29
PLT-A4 IO Monad
kanaya
August 02, 2025
Tweet
Share
More Decks by kanaya
See All by kanaya
PLT-14 IO Monad
kanaya
0
34
SCA-07 Art and Entertainment
kanaya
0
93
PLT-A3 Maybe Monad
kanaya
0
43
PLT-A2 Closure
kanaya
0
49
PLT-A1 Programming Principles
kanaya
0
34
PLT-X1 Division by Zero and Maybe
kanaya
1
78
IUM-03-Short Series of Functions
kanaya
0
150
PLT-02 How to Count Words
kanaya
0
110
IMU-00 Pi
kanaya
0
420
Other Decks in Education
See All in Education
Data Representation - Lecture 3 - Information Visualisation (4019538FNR)
signer
PRO
1
2.9k
Introduction - Lecture 1 - Advanced Topics in Big Data (4023256FNR)
signer
PRO
2
2.3k
SJRC 2526
cbtlibrary
1
220
高校数学とJulia言語
shimizudan
0
140
自己紹介 / who-am-i
yasulab
6
6.5k
HyRead2526
cbtlibrary
1
230
演習:GitHubの基本操作 / 06-github-basic
kaityo256
PRO
0
230
栃木にいても「だいじ」だっぺ〜! 栃木&全国アジャイルコミュニティへの参加・運営の魅力
sasakendayo
1
180
LotusScript でエージェント情報を出力してみた
harunakano
0
150
Analysis and Validation - Lecture 4 - Information Visualisation (4019538FNR)
signer
PRO
0
2.6k
Information Architectures - Lecture 2 - Next Generation User Interfaces (4018166FNR)
signer
PRO
1
1.9k
多様なメンター、多様な基準
yasulab
6
20k
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
240
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
200
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
230
Exploring anti-patterns in Rails
aemeredith
2
290
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
Build your cross-platform service in a week with App Engine
jlugia
234
18k
WENDY [Excerpt]
tessaabrams
9
37k
A Soul's Torment
seathinner
5
2.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.5k
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’