[GHC] #9562: Type families + hs-boot files = unsafeCoerce

GHC ghc-devs at haskell.org
Thu Apr 9 23:55:07 UTC 2015


#9562: Type families + hs-boot files = unsafeCoerce
-------------------------------------+-------------------------------------
        Reporter:  goldfire          |                   Owner:  ezyang
            Type:  bug               |                  Status:  new
        Priority:  high              |               Milestone:
       Component:  Compiler          |                 Version:  7.8.3
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  GHC accepts       |  Unknown/Multiple
  invalid program                    |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:  #10270            |  Differential Revisions:
-------------------------------------+-------------------------------------
Changes (by ezyang):

 * owner:   => ezyang


Comment:

 Sure, assuming we decide on a resolution.

 A relaxation on Richard's proposal is to allow ONLY the left-hand side of
 type families to be specified in the hs-boot file. This is because we
 don’t really need the type families to reduce, unless people want them to,
 and reduces burden on hs-boot file writers, because having to pull in
 identifiers from the RHS could be pretty annoying. We'd need to add a new
 syntactic form for RHS-less type families.

 As for normal instance declarations, the situation here is no worse than
 the classic diamond example, where two conflicting instances can be used
 without triggering an error, so I'm less inclined to demand that case.

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


More information about the ghc-tickets mailing list