[GHC] #7021: Tuple (and other exotic predicates) not yet handled in Template Haskell

GHC ghc-devs at haskell.org
Mon Feb 10 17:01:54 UTC 2014


#7021: Tuple (and other exotic predicates) not yet handled in Template Haskell
-------------------------+-------------------------------------------------
        Reporter:        |            Owner:
  goldfire               |           Status:  closed
            Type:        |        Milestone:  7.8.1
  feature request        |          Version:  7.5
        Priority:        |         Keywords:  ConstraintKinds
  normal                 |  TemplateHaskell
       Component:        |     Architecture:  Unknown/Multiple
  Template Haskell       |       Difficulty:  Unknown
      Resolution:        |       Blocked By:
  fixed                  |  Related Tickets:
Operating System:        |
  Unknown/Multiple       |
 Type of failure:        |
  None/Unknown           |
       Test Case:        |
  th/T7021               |
        Blocking:        |
-------------------------+-------------------------------------------------

Comment (by goldfire):

 Here is the relevant commit to TH:
 http://git.haskell.org/packages/template-
 haskell.git/commitdiff/57b662c3efd8579595c8642fce2d4cd60ba4ec0b

 In short, we've equated predicates with types (`type Pred = Type`) and
 added a new constructor to `Type`, `EqualityT :: Type`, which represents
 `(~)`.

 Thus, this would break any code that uses predicates in Template Haskell.
 That's a fair amount of breakage, but, as I said, I think this change is
 forward-thinking, especially given that predicates and types are the same
 type within GHC.

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


More information about the ghc-tickets mailing list