* [2023-02-14 火] 
** the :lisp:
common lispの文法についてはcltl2を眺めたりしてたから、
それなりに入っているとは思うけど、正直まだ意味がよくわかってないものもある。
その1つがthe。
theってなんだよ?英語の定冠詞?と思うが、正直わかったようなわかってないような
存在だったので、ちゃんと調べてみた。

#+begin_src quote

 the specifies that the values[1a] returned by form are of the types specified by value-type. The consequences are undefined if any result is not of the declared type.

It is permissible for form to yield a different number of values than are specified by value-type, provided that the values for which types are declared are indeed of those types. Missing values are treated as nil for the purposes of checking their types.

Regardless of number of values declared by value-type, the number of values returned by the the special form is the same as the number of values returned by form.
#+end_src

deeplに上記の英文を投げると以下の通り

#+begin_src quote

は,formが返す値[1a]がvalue-typeで指定される型であることを指定する。宣言された型でない結果がある場合,その結果は未定義である。

型が宣言されている値が実際にその型である限り、formがvalue-typeで指定されているのとは異なる数の値を返すことは許容される。欠落している値は、その型を確認するためにnilとして扱われる。

value-typeで宣言された値の数に関係なく、特別なフォームが返す値の数は、formが返す値の数と同じである。

#+end_src

いきなりtheだからdeeplもなんのこっちゃとちゃんと訳せてないけど、
要はtheの次に指定した型に最後のformの評価結果を合わせてねって
話らしい。

dpansを個人的にpdf化して使っているが、
ここの内容を見る限りではhyperspecと変わらない気がする。
hyperspecをpdfでザッと見れるから便利ではあるけど。