Scheme 修行
letcc なるナニが出てきてます。
$ gosh gosh> letcc *** ERROR: unbound variable: letcc Stack Trace: _______________________________________ gosh>
当たり前ですが無い。テキストの 41p に以下なコードが例示されてます。以下なカンジ。
(define intersectall (lambda (lset) (letcc hop (letrec ((A (lambda (lset)
scheme な書き方は以下らしい。
(define intersectall (lambda (lset) (call-with-current-continuation (lambda (hop) (letrec ((A (lambda (lset)
これはマクロで云々、なのかな。おそらくその内 @hanachin_ の中の人がでっち上げるのだろうと思いますが以下かなぁ。
(define-syntax letcc (syntax-rules () ((_ arg ...) (call-with-current-continuation (lambda (arg) ...)))))
とは言え、Scheme 手習いを再読した方が良いのは間違い無いはず。