|
|
|
|
|
by brabel
1434 days ago
|
|
Common Lisp can do that: CL-USER> (defvar i 1)
I
CL-USER> (declaim (type (integer 1 10) i))
(I)
CL-USER> i
1
CL-USER> (setf i 8)
8
CL-USER> i
8
CL-USER> (setf i (1+ i))
9
CL-USER> (setf i (1+ i))
10
CL-USER> (setf i (1+ i))
; Evaluation aborted on #<TYPE-ERROR expected-type: (INTEGER 1 10) datum: 11>.
CL-USER> i
10
|
|