3 ms·
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)
by brabel 4y 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