Scheme のローカルマクロについて知った性質があるのでメモしておく。 例えばこのようなプログラムが有った場合に画面に表示されるのは 1, 2, 3 の内のいずれだろうか。 私は 1 が表示されるものと思ったのだが、 3 が正しい挙動とのこと。 (import (scheme base) (scheme write)) (define-syntax bar (syntax-rules () ((_ m body) (let ((m 1)) (body))))) (define-syntax foo (syntax-rules () ((_ m body) (let ((n 2)) (let-syntax ((%body (syntax-rules () ((_) body)))) (bar m %body)))))) (let ((n 3)) (display (foo n (displ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く