簡體   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