SICP問題2.40
1 <= j < i <= n の対 (i, j)の並びを生成する手続き unique-pairs
(define (unique-pairs n) (flatmap (lambda (i) (map (lambda (j) (list i j)) (enumerate-interval 1 (- i 1)))) (enumerate-interval 1 n)))
unique-pairs を使った prime-sum-pairs
(define (prime-sum-pairs n) (map make-prime-sum (filter prime-sum? (unique-pairs n))))