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