为什么在TH中没有TH的代表?

时间:2018-01-28 18:00:14

标签: haskell ghc template-haskell

请注意:

    template-haskell中的
  • Exp对应GHC AST中的HsExpr
  • template-haskell中的
  • Type对应GHC AST中的HsType
  • template-haskell中的
  • Dec对应GHC AST中的HsDecl

但是,template-haskell类型中缺少一组构造函数:与TH拼接和quasiquotes相关的构造函数。例如,为什么Exp没有以下形式的构造函数?

SpliceE :: Exp -> Exp

我偶然发现了这个here。我想知道是否有一些基本的东西,或者只是需要额外的工作来充实TH类型?我怀疑问题在于,有人可以将TH发送到无限循环 - 有一个拼接生成另一个拼接,依此类推。也就是说,已经有很多方法可以使GHC发散......:)

我的用例是希望有一个额外的TH阶段(这样我可以将值提升到类型级别 - 在父级阶段它是一个值,但我可以生成具有该值的代码提升到类型级别使用promote

的子阶段

0 个答案:

没有答案