progv
(progv symbols values body...)
symbols と values(それぞれリスト)を評価し、各シンボルを対応する値に body の実行中はダイナミックに束縛し、脱出時に以前の値を復元します。values が symbols より短い場合、余ったシンボルは nil に束縛されます。let と異なり、シンボルは実行時に計算され、スペシャル宣言されている必要はありません。最後の本体フォームの値を返します。
progv は インタプリタでのみ サポートされます。JVM と WASM のコンパイラは拒否します(束縛されるシンボルがコンパイル時に分からないため、その格納場所を特定できません)。