mirror of
https://github.com/HigherOrderCO/Bend.git
synced 2024-10-26 14:05:36 +03:00
21 lines
355 B
Plaintext
21 lines
355 B
Plaintext
type Result = (Ok val) | (Err val)
|
|
|
|
Result/bind (Result/Ok val) f = ((undefer f) val)
|
|
Result/bind err _ = err
|
|
|
|
safe_div a b = switch b {
|
|
0: (Result/Err "Div by 0")
|
|
_: (Result/Ok (/ a b))
|
|
}
|
|
|
|
safe_rem a b = switch b {
|
|
0: (Result/Err "Mod by 0")
|
|
_: (Result/Ok (% a b))
|
|
}
|
|
|
|
Main = with Result {
|
|
ask y = (safe_div 3 2)
|
|
ask x = (safe_rem y 0);
|
|
x
|
|
}
|