08/05/31 21:57:19
; >>230
; (1) upward onlyの継続 (例外はこれで可能)
(define intersectall
(lambda (lset)
(let/cc hop
(letrec
((A (lambda (lset)
(cond
((null? (car lset))
(hop '()))
((null? (cdr lset))
(car lset))
(else
(intersect (car lset)
(A (cdr lset))))))))
(cond
((null? lset) `())
(else (A lset)))))))
(intersectall '((tomatoes and macaroni) (macaroni and cheese) (tomatoes and cheese)))