blob: 9c0d3ac26bb70fb67c3e070a988a1f73e1681dbd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
(record Maybe/Just value)
(record Maybe/Nothing)
(let Maybe/just Maybe/Just/create)
(let Maybe/nothing Maybe/Nothing/create)
(let Maybe/map (\[f m]
(match (kind m)
:Maybe/Just (Maybe/just (f (Maybe/Just/get-value m)))
:Maybe/Nothing (Maybe/nothing))))
(let Maybe/and-then (\[f m]
(match (kind m)
:Maybe/Just (f (Maybe/Just/get-value m))
:Maybe/Nothing (Maybe/nothing))))
(let Maybe/default (\[default m]
(match (kind m)
:Maybe/Just (Maybe/Just/get-value m)
:Result/Ex default)))
|