logo       

[ ghc-Bugs-807249 ] Instance match failure on openTypeKind: msg#00057

lang.haskell.glasgow.bugs

Subject: [ ghc-Bugs-807249 ] Instance match failure on openTypeKind

Bugs item #807249, was opened at 2003-09-16 16:37
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=807249&group_id=8032

Category: Compiler (Type checker)
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Simon Peyton Jones (simonpj)
Assigned to: Nobody/Anonymous (nobody)
Summary: Instance match failure on openTypeKind

Initial Comment:
Consider

instance Show (a->b) where ...

foo x = show (\ _ -> True)

This fails with:
No instance for (Show (t -> Bool))
arising from use of `show' at Foo.hs:5


Reason: the type of (\_ -> True) is (t -> Bool) where
t has an "openTypeKind". It's possible that the function
will be applied to say an Int#, and the openTypeKind
records that this is OK.

BUT, the instance decl Show (a->b) has
a::liftedTypeKind, and that doesn't match an
openTypeKind type variable.


This bug relates to GHC's unsatisfactory treatment of
the variants of kind "type", for which there are at least 2
other SourceForge bugs registered (753780 and
753777). It's very obscure, so I'm not going to fix it
today.

----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=807249&group_id=8032


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

News | FAQ | advertise