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-X1 Division by Zero and Maybe
Search
kanaya
June 08, 2025
Education
1
73
PLT-X1 Division by Zero and Maybe
kanaya
June 08, 2025
Tweet
Share
More Decks by kanaya
See All by kanaya
PLT-A4 IO Monad
kanaya
0
27
PLT-14 IO Monad
kanaya
0
34
SCA-07 Art and Entertainment
kanaya
0
92
PLT-A3 Maybe Monad
kanaya
0
40
PLT-A2 Closure
kanaya
0
46
PLT-A1 Programming Principles
kanaya
0
32
IUM-03-Short Series of Functions
kanaya
0
150
PLT-02 How to Count Words
kanaya
0
100
IMU-00 Pi
kanaya
0
410
Other Decks in Education
See All in Education
Activité_5_-_Les_indicateurs_du_climat_global.pdf
bernhardsvt
0
170
OSINT入門-CTF for GIRLS_SECCON14電脳会議
nomizone
0
870
資格支援制度-株式会社HIT
kabushikigaisya_hit
0
300
自己紹介 / who-am-i
yasulab
6
6.4k
2026 Medicare 101 Presentation
robinlee
PRO
0
150
HCI Research Methods - Lecture 7 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.4k
Flinga
matleenalaakso
4
15k
計算物理におけるGitの使い方 / 01-c-compphys
kaityo256
PRO
1
180
0203
cbtlibrary
0
130
RGBでも蛍光を!? / RayTracingCamp11
kugimasa
2
430
渡辺研Slackの使い方 / Slack Local Rule
kaityo256
PRO
11
11k
2025-12-19-LT
takesection
0
110
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
280
Designing for Timeless Needs
cassininazir
0
150
We Are The Robots
honzajavorek
0
190
For a Future-Friendly Web
brad_frost
183
10k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Statistics for Hackers
jakevdp
799
230k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
400
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
180
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
71
Transcript
pineapple.cc ۚ୩Ұ࿕ʢ࡚େֶใσʔλՊֶ෦ʣ θϩআࢉͱ.BZCF ϓϩάϥϛϯάݴޠ
pineapple.cc 1 0 = ?
None
pineapple.cc θϩআࢉͷରԠ w ϓϩάϥϜΛҟৗऴྃͤ͞Δʢྫ֎Λൃੜͤ͞Δʣ w ༗ཧશମɼ࣮શମΑΓʮ͍ʯू߹Λ͏ w *O fi OJUZͱ͍͏ʹ͢Δ
w /B/ /PUB/VNCFS ͱ͍͏ʹ͢Δ w ൚༻తͳΈΛ͏
pineapple.cc 1 0 = ?
pineapple.cc a ∈ ℤ b ∈ ℚ a = user_input
b = 1 a
pineapple.cc b⋆ ∈ {∅} ∪ ℚ
pineapple.cc a ∈ ℤ b⋆ ∈ {∅} ∪ ℚ a
= user_input b⋆ = { 1 a where a ≠ 0 ∅ otherwise
pineapple.cc M 𝔸 ≜ {∅} ∪ 𝔸
pineapple.cc a ∈ ℤ b⋆ ∈ M ℚ a =
user_input b⋆ = { 1 a where a ≠ 0 ∅ otherwise
pineapple.cc b⋆, c⋆ ∈ M ℚ b⋆ + c⋆ =
{ b + c where b⋆ ≠ ∅ ∧ c⋆ ≠ ∅ ∅ otherwise
pineapple.cc b⋆, c⋆ ∈ M ℚ b⋆ + c⋆ =
{ b + c where b⋆ ≠ ∅ ∧ c⋆ ≠ ∅ ∅ otherwise M ℚ ℚ
pineapple.cc x ∈ 𝔸 Jx ∈ M 𝔸 Jx =
x b⋆, c⋆ ∈ M ℚ b⋆ + c⋆ = { J(b + c) where b⋆ ≠ ∅ ∧ c⋆ ≠ ∅ ∅ otherwise ܕίϯετϥΫλ ίϯετϥΫλ
pineapple.cc x0 = 0 x1 = 1 x2 = 2
x′  = [x0 , x1 , x2]
pineapple.cc xi ∈ ℝ x′  ∈ [ℝ]
pineapple.cc xi ∈ ℝ x′  ∈ [ℝ] = L
ℝ = [] ℝ ܕίϯετϥΫλ ܕίϯετϥΫλ
pineapple.cc x′  = [x0 , x1 , x2] y′
 = [y0 , y1 , y2 , y3] z′  = x′  #y′  = [x0 , x1 , x2 , y0 , y1 , y2 , y3] ίϯετϥΫλ
pineapple.cc x′  = [x0 , x1 , x2] y′
 = [ ] z′  = x′  #y′  = [x0 , x1 , x2] ίϯετϥΫλ
pineapple.cc Maybe/Optional ྻ ҰൠԽ جຊܕ A A A ܕ {∅}∪A
[A] *1 ܕίϯετϥΫλ M A Maybe A L A List A, [] A, [A] F A F A ίϯετϥΫλ J x, ∅ Just x, Nothing [x], [ ] [x], [] V x V x *1 Functor Lawʹै͏ҙͷܕ