gpt4 book ai didi

haskell - 如何使用 Template Haskell 获取函数体?

转载 作者:行者123 更新时间:2023-12-04 11:09:38 29 4
gpt4 key购买 nike

目前,我正在尝试从 Haskell 子集进行翻译,而无需处理所有解析、类型检查等问题。文档并没有帮助我找出一个函数来通过其名称获取函数的主体(所有定义)。

此调用的上下文应类似于

fac 0 = 1
fac x = z * fac (x - 1)

getBody = ...

main = do
x <- runQ $ getBody [| fac |]
print x

有谁知道
  • TH 上是否有一些好的和最新的文档(不是 Hackage 上的引用)或
  • 如何制作getBody?
  • 最佳答案

    通常,使用 TH 查找某事物定义的方法是使用 reify功能。然而:

  • can't use reify at run-time通过 runQ .它需要的信息在编译期间不可用。
  • 目前,使用 reify获取函数定义是not implemented due to lack of interest反正。

  • 看来您需要另寻路线。您是否考虑过使用 the haskell-src-exts package用于解析和/或 GHC API 或基于它的东西?

    关于haskell - 如何使用 Template Haskell 获取函数体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13983391/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com