From: Bruno H. <br...@cl...> - 2009-09-23 21:57:16
|
Sam wrote: > > Not all functions, but those which have a non-empty "Exceptional Situations" > > section in CLHS yes. > > are you saying that a function for which CLHS does not prescribe an > "Exceptional Situation" (e.g., a function not mentioned there due to being a > CLISP exception) can be folded even if clisp may signal an error in it? > this - at the very least - introduces differences between compiled and > interpreted code. Yes. And this is where the OPTIMIZE quality comes into play. If someone is compiling with maximum SAFETY, keep the call that potentially could signal a condition even if CLHS does not require it. If someone is compiling with SAFETY 0, and CLHS does not require the error checking, drop it. > > The seclass to be used for them is - see for example in c-THROW - an seclass > > with :modifies 'T. The :uses and :uses-binding parts can be left unchanged. > > well, this basically means that using seclass_default for all subrs which > signal errors. Have you checked this in CLHS? You need to check them one by one, IMO. Bruno |