churf/sample-programs/basic-8

24 lines
401 B
Text

data Maybe (a) where {
Nothing : Maybe (a)
Just : 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
}