fun prime n a 0 = a | prime n a i = if n mod 2 <> 0 andalso n mod 3 <> 0 then prime (n + 1) (a @ [n]) (i - 1) else prime (n + 1) a i fun goedel n = let val p = prime 5 [2, 3] 10 val a = map (valOf o Int.fromString o str) ((explode o Int.toString) n) in floor (ListPair.foldl (fn (x, y, z) => Math.pow (real x, real y) * z) 1.0 (p, a)) end val printInt = println o Int.toString; printInt (goedel 9); printInt (goedel 81); printInt (goedel 230)