看起来准引号语法已更改为现在接受 4 个参数 [链接]。有人用过吗?谢谢。我只是想构建一些非常简单的东西,而网络上的示例现在不起作用。
提前致谢。
看起来准引号语法已更改为现在接受 4 个参数 [链接]。有人用过吗?谢谢。我只是想构建一些非常简单的东西,而网络上的示例现在不起作用。
提前致谢。
每一段QuasiQuoter
只是一个函数,它接受一个字符串(准引号的内容)并在Q
monad 中返回一个适当的值。如果您的 quasiquoter 不支持在某些情况下使用,则只需返回一个错误,例如:
someQuoter = QuasiQuoter { quoteType = const $ fail "type context unsupported"
, -- etc ...
}
该fail
方法调用report True
,这会产生编译器错误。这几乎是正确的行为。
基本上,变化是您现在可以为类型和声明(除了表达式和模式)创建准引用器。
error "This quasiquoter doesn't support splicing types/declarations"
如果您不想使用它们,将类型/声明字段设置为应该没问题。