Re: [GHC] #4099: Slighlty confusing error message with data families

2010-06-01 Thread GHC
#4099: Slighlty confusing error message with data families
--+-
  Reporter:  rl   |  Owner: 
 
  Type:  bug  | Status:  closed 
 
  Priority:  normal   |  Milestone: 
 
 Component:  Compiler |Version:  6.13   
 
Resolution:  fixed|   Keywords: 
 
Difficulty:   | Os:  
Unknown/Multiple
  Testcase:  indexed-types/should_fail/T4099  |   Architecture:  
Unknown/Multiple
   Failure:  None/Unknown |  
--+-
Changes (by simonpj):

  * status:  new => closed
  * testcase:  => indexed-types/should_fail/T4099
  * resolution:  => fixed


Comment:

 Yes good point.  Fixed by
 {{{
 Mon May 31 15:04:13 BST 2010  simo...@microsoft.com
   * Fix Trac #4099: better error message for type functions

   Now we only want about "T is a type function and might not be
   injective" when matchin (T x) against (T y), which is the case
   that is really confusing.

 M ./compiler/typecheck/TcTyFuns.lhs -14 +9
 }}}

-- 
Ticket URL: 
GHC 
The Glasgow Haskell Compiler
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


[GHC] #4099: Slighlty confusing error message with data families

2010-05-26 Thread GHC
#4099: Slighlty confusing error message with data families
-+--
Reporter:  rl|   Owner:  
Type:  bug   |  Status:  new 
Priority:  normal|   Component:  Compiler
 Version:  6.13  |Keywords:  
  Os:  Unknown/Multiple  |Testcase:  
Architecture:  Unknown/Multiple  | Failure:  None/Unknown
-+--
 Example code:

 {{{
 data family T a

 foo :: T a -> a
 foo (Just x) = x
 }}}

 Error message:

 {{{
 Couldn't match expected type `T a' against inferred type `Maybe a1'
   NB: `T' is a type function
 In the pattern: Just x
 In the definition of `foo': foo (Just x) = x
 }}}

 Calling `T` a type function is confusing, I had to double check that I
 hadn't accidentally declared it as a type family. I would

   * call these things type families and data families in messages and

   * omit the message for data families altogether because it doesn't
 matter that `T` is one in this case.

-- 
Ticket URL: 
GHC 
The Glasgow Haskell Compiler
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs