blob: de6a1771f7e54ab9a57eaaf3580d89470b65c06c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
{-# LANGUAGE TemplateHaskell, KindSignatures, FlexibleInstances #-}
module T5452 where
import Language.Haskell.TH
class C (f :: * -> *)
class D (f :: * -> *)
instance C ((,) Int)
$(do { ClassI _ [inst_dec] <- reify ''C
; let InstanceD o cxt (AppT _ ty) _ = inst_dec
; return [InstanceD o cxt
(foldl AppT (ConT ''D) [ty])
[]
] })
|