[GHC] #15704: Different saturations of the same polymorphic-kinded type constructor aren't seen as apart types

GHC ghc-devs at haskell.org
Fri Nov 2 09:36:18 UTC 2018


#15704: Different saturations of the same polymorphic-kinded type constructor
aren't seen as apart types
-------------------------------------+-------------------------------------
        Reporter:  mniip             |                Owner:  mniip
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Compiler (Type    |              Version:  8.6.1
  checker)                           |
      Resolution:                    |             Keywords:  TypeFamilies
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  GHC rejects       |  Unknown/Multiple
  valid program                      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #9371             |  Differential Rev(s):  Phab:D5206
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 I like this fix. But can I ask about this in `Unify.hs`:
 {{{
 -    go _ _ = maybeApart  -- See Note [Lists of different lengths are
 MaybeApart]
 +    go _ _ = surelyApart
 +      -- Possibly different saturations of a polykinded tycon (See Trac
 #15704)
 }}}
 I don't see where in this ticket we discuss "possibly different
 saturations of a polykinded tycon".

 It'd be more direct simply to give an example.  Do you have in mind this?
 {{{
 T :: forall k. Type -> k

 ty1 = T Type Int              :: Type
 ty2 = T (Type->Type) Int Int  :: Type
 }}}
 Or did you have other examples in mind?

 Thanks

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


More information about the ghc-tickets mailing list