鍵となるコンセプトは『文法としてのインライン関数』です。ifは引数を3つ取ります。条件式とthen節とelse節です。then節とelse節はインライン関数として与えられます。if自身もインライン関数として記述されます。それはその場に展開されることによって制御構造のように振る舞うのです。
RubyやSmalltalkのような言語はコードブロックを引数として渡す時に本物のクロージャを用いますがそういった際にインラインクロージャが使えると便利です。コンパイル戦略としてはJavaのバイトコードに落とすようなものを想像しています。このインライン化を自動で行い、さらに仕様化するにあたって、それは ((lambda ...)) の形をしているのではないかと考え、それを First Lambda と呼びました。
Rust part35
■ このスレッドは過去ログ倉庫に格納されています
604💾キモバカじじい ◆Rn9d66GbJRuf
2026/05/18(月) 01:51:23.37ID:X5sfaAzO■ このスレッドは過去ログ倉庫に格納されています