[Haskell-cafe] Maybe a compiler bug?
Murray Gross
mgross21 at verizon.net
Tue Jan 6 10:52:50 EST 2009
The issue here is not whether or not the code is pretty or elegant, but
whether or not I get correct execution of what I have, which is a correct
statement of what I want (even if not the prettiest or most lint free),
and I don't. There are lots of ways to work around the problem, but that
doesn't, unfortunately, make the problem go away, and it is sure to appear
elsewhere as the program is extended, which it will be.
It would appear that the real issue here is that someone with resources I
don't have needs to dig into the compilers--it should not be necessary to
use trial and error to find an alternate writing of code that is legal and
correct (regardless of the aesthetics) but is incorrectly compiled. For
the time being, I will use native compilation and hope that someone can
find and fix the error so that I can use the speed advantage of
optimization.
Best,
Murray Gross
On Tue, 6 Jan 2009, Neil Mitchell wrote:
> Hi
>
>> gTst3 right left = if (lr > ll) then False else True
>> where lr = length (right ! 2)
>> ll = length (left ! 2)
>
> Running this code over HLint (http://www.cs.york.ac.uk/~ndm/hlint) says:
>
> Example.hs:8:1: Error: Redundant if
> Found:
> if (lr > ll) then False else True
> Why not:
> not (lr > ll)
>
> Making that change and running it again gives:
>
> Example.hs:8:1: Error: Use <=
> Found:
> not (lr > ll)
> Why not:
> lr <= ll
>
> Which ends up with something similar to what you came up with.
> However, if we take your final answer:
>
>> gTst3 right left = (lr <= ll)
>> where lr = length (right ! 2)
>> ll = length (left ! 2)
>
> We get:
>
> Example.hs:8:1: Warning: Redundant brackets
> Found:
> (lr <= ll)
> Why not:
> lr <= ll
>
> Leaving us with the HLint 1.0 compliant (TM) :
>
> gTst3 right left = lr <= ll
> where lr = length (right ! 2)
> ll = length (left ! 2)
>
> Thanks
>
> Neil
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
More information about the Haskell-Cafe
mailing list