GIML: Tutorial Three: More Hints

More hints on simple recursive functions

fun power(x,0) = 1 | power(x,n) = x*power(x,n-1); fun listcopy(x,0) = [] | listcopy(x,n) = x::listcopy(x,n-1); fun sumEvens 0 = 0 | sumEvens n = n + sumEvens(n-2); fun listOdds 1 = [1] | listOdds n = n::listOdds(n-2); fun nat 0 = "zero" | nat n = "succ(" ^ nat(n-1) ^ ")"; fun listTo 0 = nil | listTo n = listTo(n-1) @ [n];