Respuesta

4

En teoría, sí. En la práctica, no.

Encontrar cosas sobre nombres existentes se hace usando reify :: Name -> Q Info, y para una definición como esa obtendría un valor VarI, que incluye un campo Maybe Dec. Esto parecería sugerir que en algunos casos podría obtener el árbol de sintaxis para la declaración de la variable, lo que le permitiría extraer el literal, sin embargo, current versions of GHC always returns Nothing in this field, por lo que no tiene suerte para una solución TH pura.

Sin embargo, TH permite que se ejecuten acciones IO arbitrarias, por lo que podría evitar esto cargando y analizando el módulo usted mismo usando algo como haskell-src-exts, sin embargo, sospecho que eso sería más problemático de lo que vale.

Cuestiones relacionadas