[GHC] #13149: Giving Backpack a Promotion

GHC ghc-devs at haskell.org
Wed Jan 18 20:14:44 UTC 2017


#13149: Giving Backpack a Promotion
-------------------------------------+-------------------------------------
           Reporter:  ezyang         |             Owner:
               Type:  task           |            Status:  new
           Priority:  normal         |         Milestone:  Research needed
          Component:  Compiler       |           Version:  8.1
  (Type checker)                     |
           Keywords:  backpack       |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 This ticket is tracking assumptions the current implementation of Backpack
 makes about terms and types, which may be violated when more and more
 term-level things start being lifted into the type level. I don't expect
 any work to be done on this in the near future, but I'd like to keep track
 of these breadcrumbs.

 * We currently assume that it is impossible for a typechecked-only module
 (that is, one with no Core unfoldings) to refer to a DFun or a coercion
 axiom. In the absence of promotion, I'm pretty sure this is the case,
 since there is no way to refer to a term from a type (DFun), and coercions
 do not ordinarily occur at the type level.

   With promotion, the situation is murkier.  If I understand correctly,
 `CoercionTy` embeds coercions in types, so in principle it should be
 possible to end up with a type that refers to a coercion explicitly, when
 you promote a GADT.  However, I haven't tried too hard to find an example
 source program where this happens. goldfire, perhaps you would know? I can
 probably turn it into a panic with GHC HEAD.

 * (Put more problems here)

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


More information about the ghc-tickets mailing list