churf/sample-programs/basic-8
2023-03-22 12:45:51 +01:00

24 lines
411 B
Text

data Maybe (a) where {
Nothing : Maybe (a)
Just : forall a. a -> Maybe (a)
};
fromJust : Maybe (a) -> a ;
fromJust a =
case a of {
Just a => a
};
fromMaybe : a -> Maybe (a) -> a ;
fromMaybe a b =
case b of {
Just a => a;
Nothing => a
};
maybe : b -> (a -> b) -> Maybe (a) -> b;
maybe b f ma =
case ma of {
Just a => f a;
Nothing => b
}