churf/test_program.crf
2023-03-26 14:12:09 +02:00

28 lines
555 B
Text

-- data Maybe (a) where {
-- Nothing : Maybe (a)
-- Just : a -> Maybe (a)
-- };
-- fmap : (a -> b) -> Maybe (a) -> Maybe (b) ;
-- fmap f ma = case ma of {
-- Nothing => Nothing ;
-- Just a => Just (f a) ;
-- };
-- pure : a -> Maybe (a) ;
-- pure x = Just x ;
-- ap mf ma = case mf of {
-- Just f => case ma of {
-- Nothing => Nothing;
-- Just a => Just (f a);
-- };
-- Nothing => Nothing;
-- };
-- return = pure;
-- bind ma f = case ma of {
-- Nothing => Nothing ;
-- Just a => f a ;
-- };