(define-module (prime))
(define-public (prime? n)
"Returns #t if N is prime, else #f."
(define (prime-helper n d)
"Recursively checks if N is a prime number
by attempting division by number D,D-1,D-2..."
(cond
((< d 2) #t)
((zero? (remainder n d)) #f)
(#t (prime-helper n (1- d)))))
(if (< n 2)
#f
(prime-helper n (quotient n 2))))