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

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Compiler (Type checker)
Group: None
Status: Open
Resolution: None
Priority: 6
Submitted By: Simon Peyton Jones (simonpj)
Assigned to: Simon Peyton Jones (simonpj)
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.

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

>Comment By: Simon Marlow (simonmar)
Date: 2005-07-11 10:36

Message:
Logged In: YES 
user_id=48280

ghci015 now tests for this bug.

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

Comment By: Simon Peyton Jones (simonpj)
Date: 2005-05-23 12:57

Message:
Logged In: YES 
user_id=50165

I'm bumping up the priority of this bug, because it also 
happens if, in GHCi, you say

   Prelude> :m +Text.Show.Functions
  Text.Show.Functions> print (\x -> x)

  (this elicits a no-such-instance error)

It's even more perplexing that this does not happen if you say
   > print id

becuase 'id' has kind-defaulted type variables in its type.  
Sigh.

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

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=807249&group_id=8032
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to