pol*_*.ph 7 haskell template-haskell
目前我正在尝试从Haskell子集进行转换,而不必处理所有解析,类型检查等问题.文档没有帮助我找出一个函数来获取函数的主体(所有定义)的名称.
此调用的上下文应该类似于
fac 0 = 1
fac x = z * fac (x - 1)
getBody = ...
main = do
x <- runQ $ getBody [| fac |]
print x
Run Code Online (Sandbox Code Playgroud)
有谁知道
C. *_*ann 10
通常,使用reify
函数找到TH定义的方法是使用该函数.然而:
您无法reify
在运行时通过runQ
.除编译期间外,所需的信息不可用.
看起来你需要找到另一条路线.您是否考虑过使用该haskell-src-exts
软件包进行解析和/或GHC API或基于它的东西?