From: Alexey D. <ade...@co...> - 2003-01-24 19:11:40
|
I'm sure you'll enjoy this: ------------------------------------------------------------------------------ * (declaim (inline foo)) * (defun foo (z) (list (the fixnum z))) FOO * (defun bar1 (x y) (list (locally (declare (optimize (safety 0))) (foo x)) (locally (declare (optimize (safety 3))) (foo y)))) BAR1 * (bar1 nil nil) ((NIL) (NIL)) * (defun bar2 (x y) (list (locally (declare (optimize (safety 3))) (foo x)) (locally (declare (optimize (safety 0))) (foo y)))) BAR2 * (bar2 1 nil) debugger invoked on condition of type TYPE-ERROR: The value NIL is not of type FIXNUM. restarts: 0: [ABORT ] Reduce debugger level (leaving debugger, returning to toplevel). 1: [TOPLEVEL] Restart at toplevel READ/EVAL/PRINT loop. (FOO NIL) source: (FOO X) 0] l Z = NIL 0] d (BAR2 1 NIL) 1] l X = 1 Y = NIL 1] sou (FOO Y) 1] sou 1 (LOCALLY (DECLARE (OPTIMIZE (SAFETY 0))) (#:***HERE*** (FOO Y))) 1] u (FOO NIL) 0] sou 1 (LOCALLY (DECLARE (OPTIMIZE (SAFETY 3))) (#:***HERE*** (FOO X))) 0] ------------------------------------------------------------------------------ -- Regards, Alexey Dejneka |