uiop:when-let*
(uiop:when-let* ((var form)...) body...)
逐次版の uiop:when-let です: 各束縛のフォームはそれより前に
束縛された変数を参照でき、最初に nil になった変数の時点で残りのフォームを評価
せずにフォーム全体が nil になります。この点が重要な違いで、後続のフォームは先行
する束縛が非 nil であることを前提にできます。
2 行目では、シグナルを起こすはずの (/ 1 a) は評価されません。
uiop は ASDF の移植性レイヤであり Common Lisp の一部ではありません: この名前は
uiop: 修飾付きでのみ参照できます。
バックエンドサポート
4 つすべてのバックエンドで動作します: インタプリタと 2 つのコンパイラが共有する
組み込みマクロ展開です。他の組み込みマクロと同様に関数値は持ちません
(#'uiop:when-let* はエラーです)。