不幸的是,许多 Template Haskell 函数完全没有文档。一个这样的功能是report
。它需要 aBool
和 a String
,并产生一个编译错误,并将指定的字符串作为错误消息。有人知道这到底Bool
是为了什么吗?据我所知,任何一个值都做同样的事情......
问问题
83 次
2 回答
9
如果Bool
是True
,则报错;如果是False
,则报告“警告”,这意味着模板代码将继续运行以收集更多“警告”。
于 2012-03-07T11:09:51.643 回答
2
查看源代码,report
调用qReport
,这是某个类的方法调用Quasi
。这种方法实际上有一些该死的文档——尽管只有一小段。我引用:
报告错误 (
True
) 或警告 (False
) ...但继续;用来fail
停止
所以它似乎使我的 TH splice 崩溃并带有适当的错误消息,我只需要调用fail
。希望这些信息对其他试图弄清楚这一点的人有用......
于 2012-03-07T11:21:43.800 回答