与えられた木から、子→親への対応を作る
(define (make-alist tree) (let ((parent (car tree)) (children (cdr tree))) (if (null? children) '() (apply append (map (lambda (x) (cons (cons (car x) parent) (make-alist x))) children)))))
やってみたらすげー素人くさくなってしまった
30分以上かかっちゃうし><
テラ初心者以下
【追記】
wilikiの解答を見たらnaoya_tさんのfoo2に近かった。apply appendが汚いと思ってたけど、この形で書こうとすると必然的にそうなるのか。勉強になるなあ
自分レベルの初心者はかえって貴重かもしれないので、迷走の過程をまとめてみる