2017-10-02から1日間の記事一覧

自由変数の決定(その3)

前回までの投稿で、Scheme(Gauche)ではレキシカルスコープが使われていることが分かった(たぶん)。そもそも、自由変数がどう決定されるのかを調べ始めるきっかけは、Schemeのマクロ内の自由変数がどう扱われるかをみるためだったので、それについても書い…

自由変数の決定(その2)

前回の投稿後に、それぞれの言語の挙動をもう少し調べてみた。 Scheme (define (hoge) (print var)) (define (fuga) (let ((var 1)) (print var))) (define var 2) (hoge) ;=> 2 (fuga) ;=> 1 (set! var 3) (hoge) ;=> 3 (fuga) ;=> 1 python def hoge(): pr…