[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ignorable

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!