Jon Wilson wrote:
I would prefer a compiler not to complain about bugs I am already plenty
aware of. A bug-catching feature is only useful when it catches
something new and unknown. If I have to do extra work in order to do
some quick and dirty testing, then the compiler's bug catching features
have gotten in the way. I think that this is Arthur's POV. Perhaps you
understand it better now.
I understand it, but it seems an amateurish way of working.
If you have a bug you're plenty aware of, it's almost always easy to
fix it at least to the extent of shutting up the compiler. After all,
people do that every day in C and C++.
I *want* the compiler to catch my bugs when I do some "quick and
dirty testing" so *I* don't have to hunt down trivial bugs.
Some compilers have a way of annotating code to turn off a specific
warning in a specific location. This is useful for the very rare cases
when fixing a particular warning is difficult, in a project which is
built in warnings-are-errors mode.
An exception I can think of is when you've gotten a pile of someone
else's buggy code, and it's hard to fix it all at once.
I agree that automated bug catching is a useful tool, or a useful
option. However, perhaps it is not the job of the compiler insofar as
it is a compiler. I would favor more of a separation of concerns. Let
the compiler merely compile, and let a lint-like tool catch bugs.
Well, the world has generally moved away from that model. Nowadays
error-checking is built into compilers and/or IDEs. Running a separate
lint step takes longer, and is therefore less likely to be done. And
you want the error-checking on by default *every* time you run the
compiler, so you can catch and fix the errors as quickly as possibly,
when the code is fresh in your mind.
Perhaps the compiler should invoke the lint, at the user's discretion,
but I don't think a standard should mandate that a compiler do anything
other than translate source code into machine code (or bytecode or
whathaveyou).
The question isn't *mandating* that the compiler do any checking; the
question is *allowing* a compiler to refuse to compile an erroneous
program.
--
--Per Bothner
[EMAIL PROTECTED] http://per.bothner.com/
_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss