目前(2014年10月24日)cabal 1.18与Stackage一起发货,而cabal 1.20自2014年4月开始运营.我预计这有一个原因:我很好奇这个原因可能是什么并希望通过这个问题我可以在Google索引的地方找到它.
我的 Haskell 包的开发版本的最新Travis CI 构建报告了错误
MissingH 必须匹配 >=1.3.0.1,但堆栈配置没有指定版本(最新匹配版本为 1.4.0.1)
在构建 GHC 8.6.1 时,即使我有
MissingH >=1.3.0.1
Run Code Online (Sandbox Code Playgroud)
在我的 build-depends。
我不明白这个错误:这似乎是矛盾的。我对MissingH没有上限,那为什么会出错并且没有使用最新的呢?
在stackage.org,下面的循环声明存在liftA2和<*>对Applicative类型类。
(<*>) = liftA2 id
liftA2 f x y = f <$> x <*> y
Run Code Online (Sandbox Code Playgroud)
是可用于现场liftA2或<*>现场的非循环声明。这种完全循环的引用是一种疏忽吗?
更新:
hoogle文档中似乎缺少以下(必要的)澄清声明:
<*> :: Functor F => F (a -> b) -> F a -> F b
Run Code Online (Sandbox Code Playgroud)
并暗示(由于循环声明)
liftA2 :: Functor F => (a -> b -> c) -> F a -> F b -> F c
Run Code Online (Sandbox Code Playgroud)