Cabal无法安装日期和半群

时间:2018-06-02 15:52:37

标签: haskell cabal

如果我执行msgmerge,我会收到错误

$ cabal install semigroup

(在其他几个事件中重演)

同样,如果我Data/Semigroup.hs:29:22: error: Ambiguous occurrence ‘Semigroup’ It could refer to either ‘Prelude.Semigroup’, imported from ‘Prelude’ at Data/Semigroup.hs:2:8-21 (and originally defined in ‘GHC.Base’) or ‘Data.Semigroup.Semigroup’, defined at Data/Semigroup.hs:22:1 | 29 | instance Monoid a => Semigroup (Identity a) where | ^^^^^^^^^

$ cabal install dates

这是一个错误吗?以及如何解决它?

1 个答案:

答案 0 :(得分:0)

Semigroup类现在是GHC 8.4.x基础的一部分:

class Semigroup a where
  (<>) :: a -> a -> a
  GHC.Base.sconcat :: GHC.Base.NonEmpty a -> a
  GHC.Base.stimes :: Integral b => b -> a -> a
  {-# MINIMAL (<>) #-}
        -- Defined in ‘GHC.Base’

但是在GHC的旧版本中,它不是基础的一部分,最初生活在semigroups包中。您尝试安装的semigroups以前的semigroup仍然是base,并且与现在dates的一部分冲突(感谢@ Li-yao的评论)。所以semigroup,包,不应该与较新的ghc / base一起使用。

你的第二个问题是新版本class Semigroup a => Monoid a where mempty :: a mappend :: a -> a -> a mconcat :: [a] -> a {-# MINIMAL mempty #-} -- Defined in ‘GHC.Base’ 未更新,这需要所有Monoid实例也是半群的实例:

dates

您可以使用import 'package/css/style-to-import.css'包提交问题。