In article <slrniaa0gi.6t7.usenet-nos...@guild.seebs.net>,
 Seebs <usenet-nos...@seebs.net> wrote:

> On 2010-09-30, RG <rnospa...@flownet.com> wrote:
> > That gives (what I would consider to be) false positives, e.g.:
> 
> > [...@mighty:~]$ cat foo.c
> 
> > void foo(long x) {}
> 
> > int main() { foo(1); }
> > [...@mighty:~]$ gcc -Wconversion foo.c
> > foo.c: In function ???main???:
> > foo.c:4: warning: passing argument 1 of ???foo??? with different width due 
> > to prototype
> 
> But it's *not* a false positive.  The compiler is not claiming that the
> conversion couldn't be done -- it's just telling you that there is a
> change of type going on.

Again, you can't have it both ways.  Either a warning is a "compiler 
error" according to the claim at issue (see below) or it is not.  If it 
is, then this is a false positive.  If it is not, then my previous 
example refutes the claim.

> If you don't want that message, it is certainly possible to write code
> which won't get it, and which will reliably work everywhere.

Of course it's possible.  It's *possible*, with enough effort, to write 
correct code in any programming language.  What does that have to do 
with anything?

> > So you have to choose your compiler 
> > (and flags) first, and then I get to construct my example.  If my 
> > example has *either* an error that the compiler doesn't catch *or* a 
> > non-error that it does catch then I win.
> 
> Those goal posts are sorta red shifted at this point.

At this point I would like to quote a wise man who once said:

> May I suggest that, if you don't want to use words and terminology
> precisely, perhaps computer programming is not for you?

Red shifted?

> You're redefining "error" and "non-error" so as to demand that a statically
> typed language offer you the same semantics of errors and non-errors that
> dynamically typed languages have.  That's cheating, though.  The claim
> is about C, not about what people who are expecting a dynamically typed
> language would like C to be like.

The claim is:

http://groups.google.com/group/comp.lang.lisp/msg/431925448da59481

        Message-ID: 
<0497e39d-6bd1-429d-a86f-f4c89babe...@u31g2000pru.googlegroups.com>
        From: TheFlyingDutchman <zzbba...@aol.com>
        Newsgroups: comp.lang.lisp

        [...]
        in C I can have a function maximum(int a, int b) that will always
        work. Never blow up, and never give an invalid answer. If someone
        tries to call it incorrectly it is a compile error.
        [...]

The truth of this claim hinges on the definitions of "work", "never blow 
up", "invalid", "call incorrectly" and "compile error."  Define these 
however you like, the result will be that the claim is either false or 
vacuous.

rg
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to