aboutsummaryrefslogtreecommitdiffstats
path: root/core/maybe.milch
blob: 71d88e15bd85bae6705891898d179c14a781e20d (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)))