
#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