Does FamInstEnv.normaliseType work for you? FamInstEnv is in the types/ directory. FamInst.tcGetFamInstEnvs may also be helpful. FamInst is in the typecheck/ directory.
Richard On May 25, 2014, at 12:42 PM, Conal Elliott <co...@conal.net> wrote: > I'm working on a GHC plugin in which I need to programmatically construct a > coercion for an associated type, given the type function name and the type > argument. For instance, I have the following class: > > > class Encodable a where > > type Encode a > > encode :: a -> Encode a > > decode :: Encode a -> a > > along with a type instance, say `Int -> Bool`. In a GHC plugin, how can I > apply a type function to an argument type to get back the resulting type and > the associated coercion? (Given the latter, I think the former comes from > `coercionKind`). > > -- Conal > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs