问题描述
是否有一个函数可以采用给定的上下文/[Pred]
并简化它?
我的意思的一些例子:
- 如果上下文包含
Eq [a]
,请将其替换为Eq a
(因为它意味着更复杂的约束) - 如果上下文包含
Eq Int
,则将其过滤掉 - 删除重复项
用例:我已经实现了 TH functions 来派生实例,而这些实例又使用 fmap
之类的东西,因此它们需要上下文,我想生成不会生成冗余约束警告的实例.
我已经制作了一个 simplifyContext :: [Pred] -> Q [Pred]
帮助程序来执行此操作,但在我看来这似乎是一个常见的需求,我希望这可能已经存在于某个图书馆中,但我已经尝试找到它但还没有。或者,如果它不存在,那可能是因为我缺少一种更简单的技术..
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)