20 lines
349 B
Plaintext
20 lines
349 B
Plaintext
data List a = { Nil, Cons a (List a) }
|
|
|
|
defn sum l = {
|
|
case l of {
|
|
Nil -> { 0 }
|
|
Cons x xs -> { x + sum xs}
|
|
}
|
|
}
|
|
|
|
defn map f l = {
|
|
case l of {
|
|
Nil -> { Nil }
|
|
Cons x xs -> { Cons (f x) (map f xs) }
|
|
}
|
|
}
|
|
|
|
defn main = {
|
|
sum (map \x -> { x * x } (map (\x -> { x + x }) (Cons 1 (Cons 2 (Cons 3 Nil)))))
|
|
}
|