Bugs item #807249, was opened at 2003-09-16 16:37
Message generated for change (Settings changed) made by simonmar
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: 2
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
_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to