(define cart-product
(lambda (sos1 sos2)
(if (null? sos1) '()
(cons
(cart-prod-sexpr (car sos1) sos2)
(cart-product (cdr sos1) sos2)))))
(define cart-prod-sexpr
(lambda (s sos)
(if (null? sos) '()
(cons
(list s (car sos))
(cart-prod-sexpr s (cdr sos))))))
Вызов (cart-product '(q w) '(x y))
вызывает (((q x) (q y)) ((w x) (w y)))
.
Как я могу создать ((q x) (q y) (w x) (w y))
вместо?