Next Previous Contents

4. Simple Recursive Functions

(from Paulson)

fun gcd( m, n ) =
  if m = 0 then n
           else gcd( n mod m, m );

fun power( x, k ) =
  if k = 1 then x
           else if k mod 2 = 0 then power( x * x, k div 2 )
                               else x * power( x * x, k div 2 );


Next Previous Contents