2015-11-06 20 views
1

我正在嘗試構建項目Barbarosa,它需要包stream-fusion-0.1.2.5。然而cabal install失敗,出現以下無法安裝Haskell包流融合-0.1.2.5:不明確的發生

[3 of 3] Compiling Control.Monad.Stream (Control/Monad/Stream.hs, dist/dist-sandbox-8bb5b9c9/build/Control/Monad/Stream.o) 

Control/Monad/Stream.hs:136:10: 
    Ambiguous occurrence ‘MonadPlus’ 
    It could refer to either ‘Control.Monad.Stream.MonadPlus’, 
          defined at Control/Monad/Stream.hs:124:1 
          or ‘GHC.Base.MonadPlus’, 
          imported from ‘GHC.Base’ at Control/Monad/Stream.hs:80:1-15 

Control/Monad/Stream.hs:140:10: 
    Ambiguous occurrence ‘MonadPlus’ 
    It could refer to either ‘Control.Monad.Stream.MonadPlus’, 
          defined at Control/Monad/Stream.hs:124:1 
          or ‘GHC.Base.MonadPlus’, 
          imported from ‘GHC.Base’ at Control/Monad/Stream.hs:80:1-15 

我使用GHC版本7.10.2在OS X 10.11,通過哈斯克爾平臺安裝。

看來的stream-fusion唯一的依賴是base其版本應該是很好,所以我不知道什麼是錯在這裏。

+0

該軟件包的'Control.Monad.Stream'模塊定義了自己的'MonadPlus'類型類。我認爲這個軟件包簡直太爛了。 – Cactus

+0

我懷疑'GHC.Base'沒有用來導出'MonadPlus',但是由於7.10的改變而改變了。 –

回答

1

我能得到的東西用替換的

import Data.List.Stream 

三個事件進行編譯:

import Data.List 

,並從陰謀文件的build-depends:部拆卸stream-fusion