繁体   English   中英

Snap Monad,LiftIO和ghc 7.4.1

[英]Snap Monad, LiftIO and ghc 7.4.1

我正在尝试使用ghc 7.0.4和7.4.1一起工作的一些代码。

在我看来,从Snap内部访问IO的旧方法不再进行类型检查。

在ghc 7.0.4中,有文献记载的IO编译方式。

a :: Snap ()
a = liftIO fireTheMissiles

http://hackage.haskell.org/packages/archive/snap-core/0.8.1/doc/html/Snap-Core.html

在GHC 7.4.1中,

No instance for (MonadIO Snap)
  arising from a use of `liftIO'
Possible fix: add an instance declaration for (MonadIO Snap)

我很好奇周围会发生什么有吸引力的工作。

我的猜测是您的某些软件包的版本有冲突(可能是transformers )。 当您尝试使用版本0.3时,可能会针对其他版本(可能是0.2.2)构建了Snap。 结果,您的范围内没有MonadIO实例(从0.3开始)。 这只是一个猜测,但是我已经看到同一件事发生了很多次。

避免这种情况的最简单方法之一是使代码无效化。 如果您尝试使用同一软件包的不同版本,cabal会警告您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM