[GHC] #15039: Bizarre pretty-printing of inferred Coercible constraint in partial type signature

GHC ghc-devs at haskell.org
Fri Apr 20 13:11:46 UTC 2018


#15039: Bizarre pretty-printing of inferred Coercible constraint in partial type
signature
-------------------------------------+-------------------------------------
        Reporter:  RyanGlScott       |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Compiler (Type    |              Version:  8.4.1
  checker)                           |             Keywords:
      Resolution:                    |  PartialTypeSignatures, TypeInType
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Poor/confusing    |  Unknown/Multiple
  error message                      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 > Instead, the solver needs to be taught somewhere to transmute a ~R# b
 constraints to Coercible a b constraints. But where? Do we do this for
 nominal equality anywhere?

 We do not transmute unsolved `a ~# b` constraints into `a ~ b`.  Rather we
 ''pretty-print'' the unsolved `a ~# b` constraint as `a ~ b`.

 But if we do that ''and'' print the kind of the constraint, the two will
 be inconsistent.  It appears that this only shows up for holes. Maybe we
 should refrain from printing the kind of a hole-filler if it's a
 constraint?

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15039#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list