ペアの重み (ペアの 2 つの数値の合計) に従って、ペアのストリームを並べ替えようとしています。(重複を除外しているわけではありません。) 私のコードが機能していないようです。
(define (merge-weighted s1 s2 weight)
(let ((h1 (stream-car s1))
(h2 (stream-car s2)))
(if ((weight h1) < (weight h2))
(cons-stream h1 (merge-weighted (stream-cdr s1) s2 weight))
(cons-stream h2 (merge-weighted new1 (stream-cdr s2) weight)))))
整数のストリーム (s1) で別の整数のストリーム (s2) を使用してマージ加重を呼び出し、次の weight1 を使用する場合:
(define (weight1 pair)
(+ (car pair) (cdr pair)))