问题标签 [hackage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - 用于测试优化器的源数据库
我需要在一组源代码上测试我的 haskell 优化器,我目前正在尝试在标记为program
on hackage 的包上运行优化器。然而,编译它们(依赖项)并让它们运行(输入)是一件令人头疼的事情。
是否有包含易于构建和运行的程序的源代码数据库?如果他们有一些使用严格注释来提高性能的代码会更好(因为我的优化器就是这样做的)。
haskell - Hackage - ReaderT 的 MonadReader 实现在哪里定义?
我似乎无法找到定义两个相对简单的 Haskell 方法的位置。
它是关于ReaderT
。根据合同的要求,我正在寻找ask
and的实现。local
MonadReader
在https://hackage.haskell.org/package/mtl-2.1.2/docs/src/Control-Monad-Reader-Class.html#ask我读到:
但后来我既找不到ReaderT.ask
也找不到任何ReaderT.local
地方。
这是我第一次通过阅读 Hackage 发现没有实现。
我错过了什么吗?
haskell - 如何使用自定义插件在 hackage 上“安装”每个包
我正在开发一个自定义ghc 插件。为了测试它,我想在 hackage 上的每个包上运行它。我遇到了两个困难。
首先,我需要-fplugin=MyPlugin
在安装软件包时将选项传递给 ghc。我发现这样做的唯一方法是创建myghc.sh
包含以下内容的文件:
然后运行cabal install --with-compiler=./myghc.sh
。但是当我运行该命令时,我得到了错误
那么是否有一个特殊的标志我可以传递给cabal install
使用我的插件而不必修改每个包的 cabal 文件?
其次,我希望我的插件记录有关它正在编译的包的信息,所以我需要一种方法让我的包知道这些信息。
似乎可能有很多方法可以做到这一点,但这是我迄今为止提出的。我想要一个已排序的 hackage 包列表,以便保证包的所有依赖项在列表中排在它之前?然后,当我运行时cabal install
,我可以将它正在安装的包的名称传递给插件。由于已经安装了依赖项,因此我不必担心它们会以错误的名称安装。
haskell - 如何将我的 Haskell 包的文档获取到 Hackage 上?
更新:这个问题现在已经过时了。Hackage 现在使用 Haskell 版本 7.10.2 构建,所以不会出现以下故障。这一变化似乎也破坏了答案中提到的一些脚本。
如何将我的 Haskell 包的文档获取到 Hackage 上?
我了解 Hackage 将构建它们的内容,但出现错误
我无法降低我的包的要求(这似乎是自动构建的障碍),我看到一些包说“用户上传的文档”。但是,任何构建尝试都会失败(见下文。)
如何将我的 Haskell 包的文档获取到 Hackage 上?特别是,我需要做什么才能自己上传它们?
我试过了
但得到
无效的文档 tarball:tar 存档中的文件不在预期的目录“MyPackage-0.1.0.2-docs”中
我也尝试了下面链接的几个脚本的我自己的版本,但得到了同样的错误:
我用它调用
但得到同样的错误。
version-control - 我的跨版本开发分支应该有什么 Cabal 版本?
我有一个 Haskell 项目的(可能是公共的)开发分支,我也发布到 Haddock。我的发布分支的负责人总是(自然地)有.cabal
一个版本对应于当前 Haddock 版本的文件。
.cabal
但是我的开发分支的文件中应该有什么版本?例如,0.1.2.6
在 Hackage 上发布版本之后,任何地方(尤其是沿着开发分支)的后续提交都不是 version 0.1.2.6
,它们 (yet) 也不是0.1.2.7
。这样的提交应该是什么版本?是否有标准做法,特别是针对 Hackage,或一般的源代码控制(回想一下 Cabal 对version
可以采用的值施加限制)?
haskell - Hackage 文档构建队列是否可见?
将新版本的 Haskell 包上传到 Hackage 后,自动文档构建可能需要一些时间,因为该包缺少在线文档。在构建此类文档之前,我不希望宣布包更改。
有没有一种方法可以查看 Hackkage 文档构建队列,或者是否有另一种方法可以估计构建我的文档需要多长时间;或者甚至是一种安排通知的方式?
请注意,这不是关于如何手动上传文档的问题。我知道该怎么做(并且不想这样做)。
haskell - 在 Hackage 上寻找反向依赖
有没有办法搜索依赖包 X 的 Hackage 包(对于任何包 X)?找到如何在野外使用包以了解其功能的示例会很棒。(对于 [试图] 解决阴谋集团的地狱也很有用。)
security - Stack 可以确保依赖项不被篡改吗?
Cabal 的一个问题是它从 Hackage 中提取软件包,正如前段时间所讨论的,一段恶意代码可以通过多种方式进入。
Stack 是否改善了这种情况,是否采取了任何预防措施?是否可以确保为给定项目从外部下载的所有代码都经过验证?
这包括额外的依赖 - 如果有任何声明,是否可以让堆栈验证它们,例如给出下载包的预期哈希?
debugging - Haskell如何将代码从Hackage获取到项目中?Cabal 安装项目失败
我在 hackage中创建了一个项目,我想将它导入到我的代码中。
我不想手动将“ print-debugger-0.0.tar.gz ”中的代码复制粘贴到我的 cabal 项目的 src 文件夹中,而是希望能够做到这一点......
// project.cabal 文件
并这样做...
并将“StackTraceDebug”导入我的项目。
当我尝试时,我收到消息...
如何在不手动复制和粘贴的情况下让我的代码脱离 hackage 并进入我的项目?
haskell - 删除 Stack/Cabal 包并安装旧版本
我是 Haskell 的新手,正在使用 Stack 在 Mac OSX 上构建一个小型个人项目。我最近在我的 cabal 文件中添加了一些新的 build-deps,但是现在当我运行时stack build
,我收到以下错误:
当我运行时,stack solver
我收到有关 http-types 包的错误
据我了解,看起来我已经安装了http-types-0.9
,但现在我需要http-types-0.8.6
. 我最初尝试使用 手动安装它$stack install http-types
,但出现以下错误:
当我查看是否可以这样做$ stack uninstall
但看起来已被弃用时。
我怎样才能摆脱快照/全局目标http-type
?