7

現在、すべての解析、型チェックなどの問題に対処する必要なく、Haskell サブセットから翻訳を行おうとしています。ドキュメントは、関数の本体 (すべての定義) をその名前で取得する関数を理解するのに役立ちませんでした。

この呼び出しのコンテキストは次のようになります

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

getBody = ...

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

誰か知ってる?

  1. TH に適切で最新のドキュメントがあるかどうか (Hackage のリファレンスではない) または
  2. getBody の作り方は?
4

1 に答える 1

10

一般に、TH で何かの定義を見つける方法は、reify関数を使用することです。でも:

別のルートを探す必要があるようです。解析用のhaskell-src-extsパッケージや GHC API またはそれに基づくものを使用することを検討しましたか?

于 2012-12-21T02:44:21.480 に答える