「The Little Schemer」の第 9 章の冒頭部分に、looking、shift、align、shuffle などの例がいくつかありますが、
(define looking
(lambda (a lat)
(keep-looking a (pick 1 lat) lat)))
(define shift
(lambda (pair)
(build (first (first pair))
(build (second (first pair))
(second pair)))))
(define align
(lambda (pora)
(cond ((atom? pora) pora)
((a-pair? (first pora)) (align (shift pora)))
(else (build (first pora)
(align (second pora)))))))
(define shuffle
(lambda (pora)
(cond ((atom? pora) pora)
((a-pair? (first pora))(shuffle (revpair pora)))
(else (build (first pora)
(shuffle (second pora)))))))
大ざっぱに理解していると思いますが、これらの例のヒントがわかりません。前提条件が必要かどうか、誰か教えてください。
よろしくお願いします