(* The factorial function *) fun fact 0 = 1 | fact n = n * fact (n - 1); (* Mutual recursion *) fun even 0 = true | even n = odd (n-1) and odd 0 = false | odd n = even(n-1); (* Sum of squares *) fun SS(0) = 0 | SS(n) = square(n-1) + SS(n-1);