// Prime counting benchmark - count primes up to N fn isPrime(n: Int): Bool = { if n < 2 then false else if n == 2 then true else if n % 2 == 0 then false else isPrimeHelper(n, 3) } fn isPrimeHelper(n: Int, i: Int): Bool = { if i * i > n then true else if n % i == 0 then false else isPrimeHelper(n, i + 2) } fn countPrimes(n: Int): Int = { let nums = List.range(2, n + 1) let primes = List.filter(nums, fn(x: Int): Bool => isPrime(x)) List.length(primes) } fn main(): Unit = { let count = countPrimes(10000) Console.print("Primes up to 10000: " + toString(count)) }