lazy-prime-numbers.scm added by klovett 1 days ago
(module lazy-prime-numbers (;export lazy-prime-numbers) (import scheme (chicken base) lazy-seq) (define lazy-prime-numbers) (define (prime? n) (let loop ((s lazy-prime-numbers)) (let ((np (lazy-head s))) (cond ((> np (sqrt n)) #t) ((zero? (modulo n np)) #f) (else (loop (lazy-tail s))))))) (set! lazy-prime-numbers (lazy-seq (cons 2 (lazy-filter prime? (lazy-numbers start: 3))))) ) ;module lazy-prime-numbers