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