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
25
PLT-A4 IO Monad
kanaya
August 02, 2025
Tweet
Share
More Decks by kanaya
See All by kanaya
PLT-14 IO Monad
kanaya
0
27
SCA-07 Art and Entertainment
kanaya
0
88
PLT-A3 Maybe Monad
kanaya
0
37
PLT-A2 Closure
kanaya
0
39
PLT-A1 Programming Principles
kanaya
0
29
PLT-X1 Division by Zero and Maybe
kanaya
1
69
IUM-03-Short Series of Functions
kanaya
0
140
PLT-02 How to Count Words
kanaya
0
98
IMU-00 Pi
kanaya
0
410
Other Decks in Education
See All in Education
コマンドラインを見直そう(1995年からタイムリープ)
sapi_kawahara
0
640
The browser strikes back
jonoalderson
0
340
10分で学ぶ すてきなモナド
soukouki
1
140
俺と地方勉強会 - KomeKaigi・地方勉強会への期待 -
pharaohkj
1
1.6k
AIは若者の成長機会を奪うのか?
frievea
0
170
Security, Privacy and Trust - Lecture 11 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
ロータリー国際大会について~国際大会に参加しよう~:古賀 真由美 会員(2720 Japan O.K. ロータリーEクラブ・(有)誠邦産業 取締役)
2720japanoke
1
770
20251023@天童市いこう会
koshiba_noriaki
0
130
沖ハック~のみぞうさんとハッキングチャレンジ☆~
nomizone
1
550
生成AIとの付き合い方 / Generative AI and us
kaityo256
PRO
13
6.9k
JavaScript - Lecture 6 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
Introdución ás redes
irocho
0
520
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
160
Speed Design
sergeychernyshev
33
1.5k
Designing Powerful Visuals for Engaging Learning
tmiket
0
210
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
380
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Git: the NoSQL Database
bkeepers
PRO
432
66k
The browser strikes back
jonoalderson
0
340
Building an army of robots
kneath
306
46k
Designing Experiences People Love
moore
143
24k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
85
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
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’