churf/sample-programs/basic-8.crf

20 lines
368 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