Hackage for Haskell上有大约12个JSON包.我怎么知道应该使用哪个包?我如何得到一个流行的意见?
是否有关于哪个包使用最多,下载最多等的统计数据?
Hackage上有很多软件包,一些是众所周知的(如HUnit),另一些则知之甚少(如AspectAG).我想知道你认为哪个包是一个值得更多用户的隐藏宝石.也许一个有用的数据结构,monad的帮助,网络,测试,......?
Hackage上你最喜欢的"隐藏宝石"包?
我看到Hackage 2有一个changelog字段.这是我长期以来想要的功能.但是,多次谷歌搜索未能找到关于如何填充此字段的单一文档.有谁知道怎么做?
在Haskell模块中评估"import Control.Monad.State"行时,GHC给出了以下错误:
Run Code Online (Sandbox Code Playgroud)Could not find module `Control.Monad.State': it was found in multiple packages: monads-fd-0.0.0.1 mtl-1.1.0.2 Failed, modules loaded: none.
我该如何解决这个冲突?
我想将全球Hackage数据库快照到一个冻结的,较小的数据库中,用于我公司的部署.如何最容易将Hackage的某些部分复制到私有服务器上?
我不小心上传了一个错误的发行版并试图立即重新加载它,但cabal
回复说:
This version of the package has already been uploaded.
As a matter of policy we do not allow package tarballs to be changed after a
release (so we can guarantee stable md5sums etc). The usual recommendation is
to upload a new version, and if necessary blacklist the existing one. In
extraordinary circumstances, contact the administrators.
Run Code Online (Sandbox Code Playgroud)
好的,我已经增加了版本并上传了正确的发行版,但现在我有兴趣按照建议将错误发布列入黑名单.然而,没有关于如何在任何地方做到这一点的概念.怎么做?他们用"黑名单"一词实际上暗示了什么?
Cabal允许自由形态稳定性字段:
稳定性:自由形态
包装的稳定性水平,例如
alpha
,experimental
,provisional
,stable
.
关于这些稳定性价值观的社区惯例是什么?考虑experimental
什么,什么是provisional
?我看到只有少数包被声明为stable
.它涉及什么样的稳定性,暴露的API的稳定性或软件的最终无错状态?
我是hackage,lrucache包的维护者.我最近收到了为Binary
和添加实例的功能请求NFData
.这些都是有用的东西,原则上我对这些实例没有任何问题.
但是,它们都引入了新的包依赖关系,我希望尽可能减少我的包的依赖列表.有理智的方法来处理这个问题吗?可能有二十多个不同的包提供了lrucache
可以实现的数据结构的有用类型类,并从中获得了一些好处.
显然,将所有这些作为依赖项添加是非启动性的.但还有什么可以做呢?
我可以向lrucache.cabal添加标志,以便编译各种实例.这样做可以使依赖列表最小化,除非您需要它.但它在现实世界中是可怕的,因为你无法在build-depends部分中指定构建标志.因此,您可以依赖具有特定标志的包,但不指定该依赖关系.这很快就会减少到无用的程度.
我可以创建一堆孤立实例包.这样做的好处是可以在build-depends部分中指定对这些实例的依赖性.它的主要缺点是在hackage中添加了大量额外的包,并且需要将它们作为单独的包维护.
我还可以做些什么?什么是正确的做法?
也许我错过了一些东西,但有没有办法在一些包裹上搜索hackage?
假设我知道Snap框架有一个叫做的函数render
.如何在它的hackage页面上找到它:http://hackage.haskell.org/package/snap-0.9.0.1
在Hackage上发布库时,如何确定依赖项的合理边界?
这是一个非常简短的问题 - 不确定我能提供哪些其他信息.
根据是使用堆栈还是使用cabal来了解这是否有所不同也是有帮助的.
基本上我的问题涉及当前设置为的cabal约束:
library
hs-source-dirs: src
default-language: Haskell2010
exposed-modules: Data.ByteUnits
build-depends: base >=4.9 && <4.10
, safe == 0.3.15
Run Code Online (Sandbox Code Playgroud)
我不认为这==
是个好主意.