首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用堆栈构造反变体会导致无法推断反变体的约束错误。

使用堆栈构造反变体会导致无法推断反变体的约束错误。
EN

Stack Overflow用户
提问于 2018-11-29 20:02:01
回答 1查看 57关注 0票数 0

在构建我的项目时,会出现以下错误:

代码语言:javascript
复制
   /tmp/stack19408/contravariant-1.5/src/Data/Functor/Contravariant/Divisible.hs:233:10: error:
        • Could not deduce (Contravariant (Backwards f))
            arising from the superclasses of an instance declaration
          from the context: Divisible f
            bound by the instance declaration
            at src/Data/Functor/Contravariant/Divisible.hs:233:10-47
        • In the instance declaration for ‘Divisible (Backwards f)’
        |
    233 | instance Divisible f => Divisible (Backwards f) where
        |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

我不知道这里到底发生了什么,或者这个错误是在我头上,还是与库有关的问题上。我做错什么了吗?

我试着创造出可能导致这个问题的最小的项目。在空白堆栈项目中,将解析器更改为ghc-8.6.2并添加依赖项:

代码语言:javascript
复制
extra-deps:
- contravariant-1.5
- StateVar-1.1.1.1
- base-4.12.0.0
- array-0.5.2.0

contravariant添加到package.yaml中的dependencies,并在Lib.hs中导入Data.Functor.Contravariant.Divisible。这导致在运行stack build时出现编译错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-29 21:12:19

这不是你-发布的软件包还没有赶上基本-4.12。

既然Contravariant类是在base中,那么Backwards的实例应该转移到transformers,后者是在那里定义的。有添加实例的修补程序。,但我不认为它已经被解禁了。

在你的立场下,我会:

  1. 在本地查看darcs回购。
  2. 将本地签出添加为extra-dep
  3. 让维护人员发布transformers
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53546699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档