Re: #15872: Odd pretty printing of equality constraint in kind ('GHC.Types.Eq# <>)

"GHC" <[email protected]>
Newsgroups gmane.comp.lang.haskell.glasgow.bugs
Message-ID <[email protected]>
#15872: Odd pretty printing of equality constraint in kind ('GHC.Types.Eq# <>)
-------------------------------------+-------------------------------------
        Reporter:  Iceland_jack      |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.6.2
      Resolution:                    |             Keywords:  TypeInType
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  Poor/confusing    |            Test Case:
  error message                      |  typecheck/should_fail/T12102
      Blocked By:                    |             Blocking:
 Related Tickets:  #12102, #13933    |  Differential Rev(s):  Phab:D5397
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by RyanGlScott):

 * status:  closed => new
 * resolution:  fixed =>
 * milestone:  8.8.1 =>


Comment:

 Commit
 [https://gitlab.haskell.org/ghc/ghc/commit/6cce36f83aec33d33545e0ef2135894d22dff5ca
 6cce36f83aec33d33545e0ef2135894d22dff5ca] (`Add AnonArgFlag to FunTy`)
 added back the ability to have equality constraints in kinds.
 Unfortunately, the issues in the original description persist:

 {{{
 GHCi, version 8.9.20190224: https://www.haskell.org/ghc/  :? for help
 Loaded GHCi configuration from /home/rgscott/.ghci
 [1 of 1] Compiling Main             ( Bug.hs, interpreted )
 Ok, one module loaded.
 λ> :i MkFun
 type role Fun nominal representational representational
 data Fun (a1 :: a ~ 'OP) b c where
   MkFun :: b -> c -> Fun 'GHC.Types.Eq# <> b c
         -- Defined at Bug.hs:11:3
 λ> :k Fun
 Fun :: (a ~ 'OP) -> * -> * -> *
 }}}

 In fact, the situation is arguably //worse// now, since `:k Fun` reports
 the entirely bogus kind `Fun :: (a ~ 'OP) -> * -> * -> *`. (See also
 #12102.)

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15872#comment:8>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.