From: Alexey D. <ade...@co...> - 2002-10-01 12:19:11
|
Hello, Christophe Rhodes <cs...@ca...> writes: > > +(defun bug110 (x) > > + (declare (optimize (safety 2) (speed 3))) > > + (declare (type (or string stream) x)) > > + (cond ((typep x 'string) 'string) > > + ((typep x 'stream) 'stream) > > + (t > > + 'none))) [...] > Am I right in thinking that there is no type check within the > disassembly of BUG110 (because of SPEED dominating SAFETY), No. Type checking of arguments is performed in XEP, which is not shown by DISASSEMBLE. Use COMPILE-FILE and see the trace file. > and that the > type check is coming from the call to BUG110? If so, would > (locally (declare (optimize (speed 3) (safety 2))) > (bug110 0)) > return NONE? No. > I would argue that this is the behaviour I would expect, > but I'd just like to confirm that that's the idea. Current policy is to perform type checking, perhaps weakened, unless SAFETY=0. -- Regards, Alexey Dejneka |