如何解决是否有功能/库/技术可以帮助为 TH 生成的实例生成正确/非冗余的上下文?
是否有一个函数可以采用给定的上下文/[Pred]
并简化它?
我的意思的一些例子:
- 如果上下文包含
Eq [a]
,请将其替换为Eq a
(因为它意味着更复杂的约束) - 如果上下文包含
Eq Int
,则将其过滤掉 - 删除重复项
用例:我已经实现了 TH functions 来派生实例,而这些实例又使用 fmap
之类的东西,因此它们需要上下文,我想生成不会生成冗余约束警告的实例.
我已经制作了一个 simplifyContext :: [Pred] -> Q [Pred]
帮助程序来执行此操作,但在我看来这似乎是一个常见的需求,我希望这可能已经存在于某个图书馆中,但我已经尝试找到它但还没有。或者,如果它不存在,那可能是因为我缺少一种更简单的技术..
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。