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
79
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
42
IUM-03-Short Series of Functions
kanaya
0
120
PLT-02 How to Count Words
kanaya
0
75
IMU-00 Pi
kanaya
0
390
Other Decks in Education
See All in Education
Alumnote inc. Company Deck
yukinumata
0
1.2k
Constructing a Custom TeX Ecosystem for Educational Institutions—Beyond Academic Typesetting
doratex
1
16k
実務プログラム
takenawa
0
12k
2025年度春学期 統計学 第2回 統計資料の収集と読み方(講義後配付用) (2025. 4. 17)
akiraasano
PRO
0
120
2025年度春学期 統計学 第9回 確からしさを記述する ー 確率 (2025. 6. 5)
akiraasano
PRO
0
140
Info Session MSc Computer Science & MSc Applied Informatics
signer
PRO
0
200
データ分析
takenawa
0
12k
生態系ウォーズ - ルールブック
yui_itoshima
1
220
チーム開発における責任と感謝の話
ssk1991
0
120
社外コミュニティと「学び」を考える
alchemy1115
2
170
JOAI2025講評 / joai2025-review
upura
0
370
仮説の取扱説明書/User_Guide_to_a_Hypothesis
florets1
4
340
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Designing for Performance
lara
610
69k
Optimizing for Happiness
mojombo
379
70k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
What's in a price? How to price your products and services
michaelherold
246
12k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
KATA
mclloyd
32
14k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
450
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
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’