Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
31 lines (22 sloc) 808 Bytes
data Nil 0
data Cons 2
fun twice(f, x) = f(f(x))
fun map(f, xs) = case xs of {
Nil => Nil
| Cons(y, ys) => Cons(f(y), map(f, ys))
}
fun dumpList(xs) = case xs of {
Nil => "END"
| Cons(y, ys) => %IntString(y) ++ ", " ++ dumpList(ys)
}
fun countFrom(x) = Cons(x, countFrom@(x+1))
fun take(n, xs) = case n of {
0 => Nil
| _ => case xs of {
Nil => Nil
| Cons(y, ys) => Cons(y, take(n-1, ys))
}
}
fun double(x) = x + x
fun main() = let mult = 2 in
%WriteString(dumpList(map(twice(\ x => x*mult), take(1010, countFrom(10)))))
Jump to Line
Something went wrong with that request. Please try again.