[GHC] #771: GHC typing too constrained
GHC
trac at galois.com
Mon May 15 06:19:05 EDT 2006
#771: GHC typing too constrained
------------------------------+---------------------------------------------
Reporter: guest | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 6.4.1
Severity: normal | Resolution:
Keywords: type checking | Difficulty: Unknown
Architecture: x86 | Os: Linux
------------------------------+---------------------------------------------
Old description:
> for the following program:
> ----------------------------
> module Bug where
>
> f :: Maybe Bool
> f = g ()
>
> g () = do f
> error "bug?"
> ----------------------------
> If I ask ghci (version: 6.4.1) what the type of g is, it says:
> ----------------------------
> *Bug> :t g
> g :: () -> Maybe Bool
> ----------------------------
>
> However, I think it should be:
> ----------------------------
> Bug> :t g
> g :: () -> Maybe a
> ----------------------------
> as reported by Hugs (version: March 2005).
>
> I first thought this was a monomorphism-restriction gotcha, but g is
> obviously a function, not a constant. And Hugs reports the more general
> expected type anyhow.
>
> I'm curious to see if this is a real bug or some weird interaction with
> ghci..
New description:
for the following program:
----------------------------
{{{
module Bug where
f :: Maybe Bool
f = g ()
g () = do f
error "bug?"
}}}
If I ask ghci (version: 6.4.1) what the type of g is, it says:
{{{
*Bug> :t g
g :: () -> Maybe Bool
}}}
However, I think it should be:
{{{
Bug> :t g
g :: () -> Maybe a
}}}
as reported by Hugs (version: March 2005).
I first thought this was a monomorphism-restriction gotcha, but g is
obviously a function, not a constant. And Hugs reports the more general
expected type anyhow.
I'm curious to see if this is a real bug or some weird interaction with
ghci..
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/771>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list