[GHC] #8318: GHC does not infer type of `tagToEnum#` expression
GHC
ghc-devs at haskell.org
Tue Sep 17 18:17:30 CEST 2013
#8318: GHC does not infer type of `tagToEnum#` expression
----------------------------------------------+----------------------------
Reporter: jstolarek | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.7
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: GHC rejects valid program | Unknown/Multiple
Test Case: | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets:
----------------------------------------------+----------------------------
Comment (by jstolarek):
Compiling this program:
{{{
{-# LANGUAGE MagicHash, UnboxedTuples #-}
module TTE where
import GHC.Prim
import GHC.Base
g :: IO Bool
g = IO $ \s# -> (# s#, tagToEnum# 1# #)
}}}
produces:
{{{
[1 of 1] Compiling TTE ( tte.hs, tte.o )
tte.hs:11:24:
Bad call to tagToEnum# at type a_azp
Specify the type by giving a type signature
e.g. (tagToEnum# x) :: Bool
In the expression: tagToEnum# 1#
In the expression: (# s#, tagToEnum# 1# #)
In the second argument of ‛($)’, namely
‛\ s# -> (# s#, tagToEnum# 1# #)
}}}
So the informative error message is already somewhere in the compiler. I
wonder why don't we infer the type here? After all the error message
clearly states what type is necessary.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8318#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list