それSchemeで
単に無名関数(ラムダ式)をクロージャと呼んでいるのかな? それとも、無名関数とそこに出現する(ローカルでない)変数の束縛(環境と呼ぶんだったかな)を一緒にしたもの?
後者の意味だとして、たまたま変数束縛が空なら単なる無名関数になるから、気にする必要もないようなもんだが、束縛されてない非ローカル変数が残っていてもクロージャなのかな?
Common Lispだとdynamic bindingがある、というところまでは知っているけど、dynamic bindingを含むような関数は、改めて考えてみるとクロージャと呼んでいいのかどうかわからない。環境をつかまえておくのがクロージャなら、dynamic bindingはつかまえておけないからクロージャではない気もする。そこらへんどうなってるんでしょう? > CLの人
*1:dynamic binding がないから