churf/sample-programs/working/map.crf
2023-05-06 22:49:08 +02:00

16 lines
347 B
Text

data List a where
Nil : List a
Cons : a -> List a -> List a
map : (a -> b) -> List a -> List b
map f xs = case xs of
Nil => Nil
Cons x xs => Cons (f x) (map f xs)
sum : List Int -> Int
sum xs = case xs of
Nil => 0
Cons x xs => x + (sum xs)
main = let y = 10 in sum (map (\x. x + y) (Cons 2 (Cons 4 Nil)))