21 lines
375 B
Text
21 lines
375 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)
|
|
|
|
|
|
f : List Int
|
|
f = (\x.\ys. map (\y. y + x) ys) 4 (Cons 1 (Cons 2 Nil))
|
|
-- [5, 6]
|
|
|
|
sum : List Int -> Int
|
|
sum xs = case xs of
|
|
Nil => 0
|
|
Cons x xs => x + sum xs
|
|
|
|
main = sum f
|
|
|