jfarrell@sun.UUCP (Jerry Farrell) (09/14/83)
I want the compiler to type-check for me because 1) I'm tired of being handed a program with the remark "OK, it's fully tested and solid." and discovering 6 places where foo is passed when it should be *foo; 2) Lint barfs on constructions the compiler accepts (e.g. /**/ ina macro definition, but it doesn't get fixed, because we can creep along without it, and there's all these other things . . . . 3) Preparing a lint library is a royal pain -- unless I'm willing to reconstruct cc's lexical analyzer (including keeping the comments), I get to massage my source by hand into the appropriate format; 4) Probably as a result of (3), the lint libraries tend to be about 3 years behind the code. Compilers need not have trouble with any of the difficulties listed in Lantz' message; see Mesa, for instance. The claim that lint's optionality saves you from paying compile overhead all the time while still providing safety needs a lot more empirical backing than I've seen.
philipl@bronze.UUCP (Philip Lantz) (09/20/83)
Why do we want the COMPILER to check argument types? Lint does it very well. It even knows about the library functions, and functions that take a variable arguments, and functions declared in other files, and other problems that the compiler would have doing it. And if lint tells you you're passing an int to a function that takes a short, you can cast it, which makes it clear to the next person that looks at your code that you know what's going on, and intended it. Philip Lantz tekmdp!bronze!philipl