Is it very difficult to convert from HsType to Type?
Thanks for the information!2014-07-20 18:17 GMT+02:00 Richard Eisenberg <eir@cis.upenn.edu>:
Hi Alejandro,It sounds like you want tc_infer_lhs_type from TcHsType. This function is not exported, but you can look around at other functions in that module to see if there's an exported one that serves your needs. You may need to convert the HsType to a Type (Type is the same as TcType, roughly) and then call typeKind.I hope this helps!RichardOn Jul 20, 2014, at 8:45 AM, Alejandro Serrano Mena <trupill@gmail.com> wrote:_______________________________________________Dear Haskell-café,I'm trying to get some information of the kinds of types in a program. In particular, I want to obtain the kinds of arguments to type family instances, that is, given:
type family F a b :: Nattype instance F (List k) b = bI would like to obtain the kinds of "k" and "b" in the left-hand side of the type instance.In particular, I'm obtaining type family instance information via LTyFamInstEqn [http://www.haskell.org/ghc/docs/latest/html/libraries/ghc/HsDecls.html#t:LTyFamInstEqn]. Inside, I get a list of binders of type HsWithBndrs [LHsType name]. I'm assuming each of the LHsTypes inside is a pattern in the type family instance. Thus, I'm looking at those elements and try to find their kind there.Thus, the specific question is: given a HsType, can I obtain its kind somehow?Thanks in advance
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe