Lisp Scheme Part26
■ このスレッドは過去ログ倉庫に格納されています
0568デフォルトの名無しさん
2009/06/22(月) 06:12:44普通に書くと再帰が二カ所あるので、単純な繰り返しにはできない
末尾呼び出し版でよければ、CPSでこんな感じ
(define (tmap f t)
(define (aux t cont)
(cond ((null? t) (cont t))
((not (pair? t)) (cont (f t)))
(else (aux (car t)
(lambda (r1)
(aux (cdr t)
(lambda (r2)
(cont (cons r1 r2)))))))))
(aux t values))
■ このスレッドは過去ログ倉庫に格納されています