無いものを嘆いていても仕方がないので、できることを模索しよう。 autolisp系のLispでは let が使えず、ローカル変数は、関数の頭でしか宣言できない。また、use strict 相当のものがないため、関数が長くなるとローカル変数の宣言漏れがないかどうかをチェックするのも(宣言するところと使用する場所が離れているため)結構たいへんだ。 そんな折、let が lambda の糖衣構文である処理系もあるという話を聞いた。なるほど、let は lambda の変形なのか。ということで、lambda で let 相当のことをやってみよう。 (defun C:test-lambda (/ tmp…