无法满足超类

问题描述 投票:0回答:1

SO是一场狗屎秀。感谢您的搭车。

haskell
1个回答
4
投票

你的代码适用于我,也适用于 GHC 7.8.3。不过,请仔细查看错误消息:

Test.hs:22:10:
    Could not deduce (mtl-2.1.3.1:Control.Monad.State.Class.MonadState
                        st' (Engine st' m))

mtl-2.1.3.1
这样的显式包标识符通常不包含在错误中。当它们时,意味着GHC已经加载了两个不同版本的包,具有相同的名称但不同的类型和类。在这种情况下,一个可能由
lens
使用,另一个则直接由您的模块使用。

Cabal 沙箱是避免这种情况的一种方法(它们确保包版本一致)。

© www.soinside.com 2019 - 2024. All rights reserved.