[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
I don't understand why everyone is getting so excited about a declaration
of IGNORABLE for variables. So far as I can tell, its sole purpose in life
is to suppress some compiler warnings - it has no effect on either the
performance or correctness of code. But IGNORABLE opens up a whole can
of worms - what about all the other kinds of warnings that people's compilers
might want to issue? How about a (PROCLAIM 'CONSTANTS-MIGHT-BE-REBOUND)?
Or (PROCLAIM 'TYPE-ERRORS-NO-PROBLEM)? Trying to ensure that your program
will go on all compilers in the world without any warnings whatsoever is
probably a lost cause. The only way I know of to get this degree of
portability is to use exactly the same implementation code on all machines
a la PSL...
I'm not saying that IGNORABLE is bad - I just don't think it's worth
writing into an already huge language standard, and if *that* gets in,
everybody who has a desirable but sometimes annoying warning message
in their implementation is going to want to include a control frob
in the standard. (Remember UNSPECIAL, and the discussion about general
undos that it precipitated? Does anybody still want to incorporate
a general UNDO in CL?) For instance, PSL has a warning about strings
that go over the end of the line, and it warns about users redefining
"system" functions, and it puts out a message everytime a function is
redefined, and it warns about attempts to redefine constants, and...
Every one of these is ideally controlled by its very own declaration!