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
13
PLT-A4 IO Monad
kanaya
August 02, 2025
Tweet
Share
More Decks by kanaya
See All by kanaya
PLT-14 IO Monad
kanaya
0
21
SCA-07 Art and Entertainment
kanaya
0
83
PLT-A3 Maybe Monad
kanaya
0
30
PLT-A2 Closure
kanaya
0
30
PLT-A1 Programming Principles
kanaya
0
25
PLT-X1 Division by Zero and Maybe
kanaya
1
56
IUM-03-Short Series of Functions
kanaya
0
130
PLT-02 How to Count Words
kanaya
0
86
IMU-00 Pi
kanaya
0
400
Other Decks in Education
See All in Education
Réaliser un diagnostic externe
martine
0
360
Editor First: Customizing TYPO3 for a Cleaner Workflow
ulli
0
110
Master of Applied Science & Engineering: Computer Science & Master of Science in Applied Informatics: Artificial Intelligence and Data Science
signer
PRO
0
850
Design Guidelines and Models - Lecture 5 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.2k
Sanapilvet opetuksessa
matleenalaakso
0
34k
今までのやり方でやってみよう!?~今までのやり方でやってみよう!?~
kanamitsu
0
210
The knowledge panel is your new homepage
bradwetherall
0
210
HCI and Interaction Design - Lecture 2 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.4k
Web Architectures - Lecture 2 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
データで見る赤ちゃんの成長
syuchimu
0
350
20250830_MIEE祭_会社員視点での学びのヒント
ponponmikankan
1
190
Ch1_-_Partie_1.pdf
bernhardsvt
0
450
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
A Tale of Four Properties
chriscoyier
162
23k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
670
Faster Mobile Websites
deanohume
310
31k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Speed Design
sergeychernyshev
32
1.2k
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’