Sujet : Re: Primes
De : Nobody447095 (at) *nospam* here-nor-there.org (B. Pym)
Groupes : comp.lang.lispDate : 22. Jun 2025, 17:05:50
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <10399kt$k9g7$1@dont-email.me>
References : 1
User-Agent : XanaNews/1.18.1.6
B. Pym wrote:
(defun primes-below-limit (limit)
(cons 2
(loop for i from 3 by 2 below limit
unless (loop for p in primes
thereis (integerp (/ i p)))
collect i into primes
finally (return primes))))
Gauche Scheme:
(use srfi-1) ;; take-while
(use math.prime)
(define (primes-below-limit limit)
(take-while (lambda(n) (< n limit)) *primes*))
(primes-below-limit 88)
===>
(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83)
Using "is":
(define (primes-below-limit limit)
(take-while (is < limit) *primes*))
Given:
(define is
(case-lambda
[(x) (lambda(y) (equal? y x))]
[(pred x) (lambda(y) (pred y x))]
[(key pred x) (lambda(y) (pred (key y) x))]))