Slide 11
Slide 11 text
同種のモナドを扱う場合
(1)
パター
ンマッチ
構造に注目して分解(unapply, destructure)
する。
d
a
t
a U
s
e
r = U
s
e
r {
f
i
r
s
t
N
a
m
e :
: M
a
y
b
e S
t
r
i
n
g
,
l
a
s
t
N
a
m
e :
: M
a
y
b
e S
t
r
i
n
g
} d
e
r
i
v
i
n
g S
h
o
w
u
s
e
r
N
a
m
e :
: U
s
e
r -
> M
a
y
b
e S
t
r
i
n
g
u
s
e
r
N
a
m
e U
s
e
r {
f
i
r
s
t
N
a
m
e = J
u
s
t f
, l
a
s
t
n
a
m
e = J
u
s
t l
} = J
u
s
t $ f +
+ " " +
+ l
u
s
e
r
N
a
m
e _ = N
o
t
h
i
n
g