问题标签 [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.

0 投票
1 回答
33 浏览

haskell - 用于测试优化器的源数据库

我需要在一组源代码上测试我的 haskell 优化器,我目前正在尝试在标记为programon hackage 的包上运行优化器。然而,编译它们(依赖项)并让它们运行(输入)是一件令人头疼的事情。

是否有包含易于构建和运行的程序的源代码数据库?如果他们有一些使用严格注释来提高性能的代码会更好(因为我的优化器就是这样做的)。

0 投票
1 回答
239 浏览

haskell - Hackage - ReaderT 的 MonadReader 实现在哪里定义?

我似乎无法找到定义两个相对简单的 Haskell 方法的位置。

它是关于ReaderT。根据合同的要求,我正在寻找askand的实现。localMonadReader

https://hackage.haskell.org/package/mtl-2.1.2/docs/src/Control-Monad-Reader-Class.html#ask我读到:

但后来我既找不到ReaderT.ask也找不到任何ReaderT.local地方。

这是我第一次通过阅读 Hackage 发现没有实现。

我错过了什么吗?

0 投票
1 回答
163 浏览

haskell - 如何使用自定义插件在 hackage 上“安装”每个包

我正在开发一个自定义ghc 插件。为了测试它,我想在 hackage 上的每个包上运行它。我遇到了两个困难。


首先,我需要-fplugin=MyPlugin在安装软件包时将选项传递给 ghc。我发现这样做的唯一方法是创建myghc.sh包含以下内容的文件:

然后运行cabal install --with-compiler=./myghc.sh。但是当我运行该命令时,我得到了错误

那么是否有一个特殊的标志我可以传递给cabal install使用我的插件而不必修改每个包的 cabal 文件?


其次,我希望我的插件记录有关它正在编译的包的信息,所以我需要一种方法让我的包知道这些信息。

似乎可能有很多方法可以做到这一点,但这是我迄今为止提出的。我想要一个已排序的 hackage 包列表,以便保证包的所有依赖项在列表中排在它之前?然后,当我运行时cabal install,我可以将它正在安装的包的名称传递给插件。由于已经安装了依赖项,因此我不必担心它们会以错误的名称安装。

0 投票
2 回答
868 浏览

haskell - 如何将我的 Haskell 包的文档获取到 Hackage 上?

更新:这个问题现在已经过时了。Hackage 现在使用 Haskell 版本 7.10.2 构建,所以不会出现以下故障。这一变化似乎也破坏了答案中提到的一些脚本。

如何将我的 Haskell 包的文档获取到 Hackage 上?

我了解 Hackage 将构建它们的内容,但出现错误

我无法降低我的包的要求(这似乎是自动构建的障碍),我看到一些包说“用户上传的文档”。但是,任何构建尝试都会失败(见下文。)

如何将我的 Haskell 包的文档获取到 Hackage 上?特别是,我需要做什么才能自己上传它们?


试过了

但得到

无效的文档 tarball:tar 存档中的文件不在预期的目录“MyPackage-0.1.0.2-docs”中



我也尝试了下面链接的几个脚本的我自己的版本,但得到了同样的错误:

我用它调用

但得到同样的错误。

0 投票
1 回答
47 浏览

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可以采用的值施加限制)?

0 投票
1 回答
80 浏览

haskell - Hackage 文档构建队列是否可见?

将新版本的 Haskell 包上传到 Hackage 后,自动文档构建可能需要一些时间,因为该包缺少在线文档。在构建此类文档之前,我不希望宣布包更改。

有没有一种方法可以查看 Hackkage 文档构建队列,或者是否有另一种方法可以估计构建我的文档需要多长时间;或者甚至是一种安排通知的方式?


请注意,这不是关于如何手动上传文档的问题。我知道该怎么做(并且不想这样做)。

0 投票
2 回答
795 浏览

haskell - 在 Hackage 上寻找反向依赖

有没有办法搜索依赖包 X 的 Hackage 包(对于任何包 X)?找到如何在野外使用包以了解其功能的示例会很棒。(对于 [试图] 解决阴谋集团的地狱也很有用。)

0 投票
1 回答
43 浏览

security - Stack 可以确保依赖项不被篡改吗?

Cabal 的一个问题是它从 Hackage 中提取软件包,正如前段时间所讨论的,一段恶意代码可以通过多种方式进入。

Stack 是否改善了这种情况,是否采取了任何预防措施?是否可以确保为给定项目从外部下载的所有代码都经过验证?

这包括额外的依赖 - 如果有任何声明,是否可以让堆栈验证它们,例如给出下载包的预期哈希?

0 投票
2 回答
92 浏览

debugging - Haskell如何将代码从Hackage获取到项目中?Cabal 安装项目失败

在 hackage中创建了一个项目,我想将它导入到我的代码中。

我不想手动将“ print-debugger-0.0.tar.gz ”中的代码复制粘贴到我的 cabal 项目的 src 文件夹中,而是希望能够做到这一点......

// project.cabal 文件

并这样做...

并将“StackTraceDebug”导入我的项目。

当我尝试时,我收到消息...

如何在不手动复制和粘贴的情况下让我的代码脱离 hackage 并进入我的项目?

0 投票
1 回答
753 浏览

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