Amo/sample-initial.amo
Emi Simpson d9385ed1c3
Fix up evaluation baybeeee!!!!!
also write the primes program or w/e
2022-04-24 23:03:42 -04:00

32 lines
647 B
Plaintext

main: Int
main = nth_prime 77
nth_prime: Int -> Int
nth_prime n =
if n == 1
then 2
else nth_prime_helper (n - 1) 3
nth_prime_helper: Int, Int -> Int
nth_prime_helper remaining_primes next_to_try =
if is_prime next_to_try
then
if remaining_primes < 2
then next_to_try
else nth_prime_helper (remaining_primes - 1) (next_to_try + 2)
else nth_prime_helper remaining_primes (next_to_try + 2)
is_prime: Int -> Int
is_prime x =
if x % 2 == 0
then 0
else is_prime_helper x 3
is_prime_helper: Int, Int -> Int
is_prime_helper x try =
if try * try > x
then 1
else if x % try == 0
then 0
else is_prime_helper x (try + 2)