遅ればせながら「Scheme:リスト処理 与えられた木から、子→親への対応を作る」をやってみました。4分かかって以下のコードでした:
(use srfi-1) (define (f tree) (let ((h (car tree)) (t (cdr tree))) (append (map (lambda (x) (cons (car x) h)) t) (append-map f t))))