24 lines
401 B
Text
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
|
|
}
|