--------------------------------------------------------------------------------
#21
(defun-with-dx foo ()
- (let ((dx (list (list 1 2) (list 3 4)
+ (let ((dx (list (list 1 2) (list 3 4))))
(declare (dynamic-extent dx))
- ...)))))
+ ...))
External list in DX is allocated on stack, but internal are not.
--------------------------------------------------------------------------------
rewritten with &MORE vectors.
b. Implement local unknown-values mv-call (useful for fast type checking).
--------------------------------------------------------------------------------
-#25
-EQL is implemented generically in situations where this isn't necessary.
-
-(defun f (x y)
- (declare (type (or symbol fixnum) x)
- (optimize speed (safety 0) (debug 0)))
- (eql x y))
-
-SUBTYPEP is smart enough to determine that this type is a subtype
-of (and (or (not number) fixnum) (not character))
-
-This sitation where the type is (OR NULL FIXNUM) comes up
-in cl-bench, for example in the value returned by POSITION.
---------------------------------------------------------------------------------
#26
SBCL cannot derive upper bound for I and uses generic arithmetic here: