append2の定義
3通り書いてみた。
(define (append2 lis1 lis2) (if (pair? lis1) (cons (car lis1) (append2 (cdr lis1) lis2)) lis2)) (define (append22 lis1 lis2) (define (append22-sub lisa lisb) (if (null? lisa) lisb (append22-sub (cdr lisa) (cons (car lisa) lisb)))) (append22-sub (reverse lis1) lis2)) (define (append222 lis1 lis2) (fold cons lis2 (reverse lis1)))