数値が特定の範囲のすべての整数で割り切れるかどうかをテストする述語をコーディングしているときに、おそらく「宣言」記号を使用して、入力に関するルールを作成できるかどうか疑問に思いました。
コード:
(defun integer-divisiblep (n m i)
(declare (integer n m i))
(do ((x m (- x 1)))
((< x n) (return t))
(when (not (integerp (/ i x)))
(return nil))))
この場合、入力値「n」は「m」より小さくなければならないことを指定したいと思います。組み込みの関数でこれを行う方法はありますか?Hyperspecのdeclaration-identifiersで必要なものが見つからないようです。
また、違いがあれば、SBCLを使用しています。