[Haskell-cafe] Getting list of constructors of a Type
Nils Schweinsberg
mail at nils.cc
Tue Jun 3 22:01:18 UTC 2014
I'm not sure what exactly you're trying to do, but with Template Haskell
it's easy:
> test :: Name -> Q [Dec]
> test name = do
> info <- reify name
> ...
Then call it from another module with the type name as argument (double
single quotes):
> data Test = A | B
>
> test ''Test
The `Info` type returned by `reify` is described in:
http://hackage.haskell.org/package/template-haskell-2.9.0.0/docs/Language-Haskell-TH-Syntax.html#t:Info
- Nils
Am 03.06.2014 21:13, schrieb Alejandro Serrano Mena:
> Dear Haskell-Café,
> As part of my Google Summer of Code, I need to get the list of data
> constructors of a certain data type on a specific scenario.
> In my case, I'm getting a value of type Type (by calling exprType). I
> was expecting to be able to call getInfo directly on that value of type
> Type, but it doesn't have a name nor the constructors of Type are
> public. Thus, I'm not able to get that information :(
>
> Thanks in advance,
> Alejandro
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
More information about the Haskell-Cafe
mailing list