タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

lispとsbclに関するeagletmtのブックマーク (1)

  • 引数の型チェックの有無を使用者に選択させる(sbcl) - sileのブログ

    関数を書いていると、引数の型チェックを有効にするかどうかで悩むことがたまにある。 ;;;; sbcl-1.0.37 ;; 足し算を行う関数 ;; 引数が適切な前提としている (defun plus-impl (x y) (declare ((integer 0 1000) x y) (optimize (speed 3) (safety 0))) (+ x y)) (plus-impl 1 2) ; 正しい引数 --> 3 (plus-impl 1 'a) ; 不正な引数 --> (0) ; どんな処理が行われるかは不定。この場合は不正な結果が返されている。 上の例の場合は、型チェック(安全性)よりも実行速度を優先している。 この関数に渡される引数が常に適切であることが確信できるならばこれでも特に問題はないが、二番目の実行例のように想定外の引数が渡される可能性があるなら、何らかのチェックを

    引数の型チェックの有無を使用者に選択させる(sbcl) - sileのブログ
  • 1