logo       

Core Lint bug: msg#00013

lang.haskell.glasgow.bugs

Subject: Core Lint bug

The attached program, chr.hs, causes GHC to generate external Core that
results in a type error when compiled with -dcore-lint, but compiles normally
itself. That is:

$ ghc -fext-core -fno-code -fglasgow-exts chr.hs
$ ghc -dcore-lint chr.hcr
*** Core Lint Errors: in result of Simplifier phase 0, iteration 1 out of 4 ***

<No locn>: In the expression: GHC.Prim.leWord#
(GHC.Prim.int2Word# i#) 1114111
Argument value doesn't match argument type:
Fun type: GHC.Prim.Word# -> GHC.Base.Bool
Arg type: GHC.Prim.Int#

<error message trimmed>

Compilation had errors

$ ghc -fglasgow-exts chr.hs
$

The code for "mychr" is just "chr", from the Prelude. The typechecker seems
to think that 1114111 is an Int#, even though in the Core code, it's annotated
as being a Word#. (I'm using GHC 5.04.1 under RedHat Linux 7.3.)

--
Kirsten Chevalier * krc@xxxxxxxxxxxxxxxxxxx * Often in error, never in doubt

Attachment: chr.hs
Description: Text document

<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise