问题标签 [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 - 如何将 dev 分支安装到 Cabal 沙箱中
我在 Cabal 沙箱中有一个项目。我想使用一个包,但 Hackage 上的包不适合。作者在 Github 上有一个可以满足我需求的替代开发分支。我以前使用以下方法安装了没有沙箱的开发分支:
显然,如果我只想在沙箱中安装这个 repo,那是行不通的。
我的目录结构是这样设置的:
有一个可执行文件和一个库。我的 build-depends 有大约 18 个包依赖项,这是其中之一。所以我的问题:
- 一旦我下载了开发仓库,我应该把它解压到哪里?
- 提取后,如何构建/安装到我的沙箱中?
- 完成后,我是否需要修改我的 .cabal 文件?
haskell - hackage-server 无法构建 - 是否有特定的 ghc/cabal 版本要求?
我正在尝试构建和运行 Hackage 服务器https://github.com/haskell/hackage-server的副本。我按照这里的说明https://github.com/haskell/hackage-server/wiki以及自述文件中的说明。无论我尝试哪种方式,在尝试使用 ghc 7.8.4 和 cabal 1.22 构建时,都会收到以下错误:
我也尝试过使用最新的 Haskell 平台,我得到了同样的失败信息。
我正在尝试确定这是 hackage-server 当前主分支中的错误,还是与我安装 ghc 或 cabal 的方式有关。
编辑:我再次尝试使用 Ubuntu 14.04 repo haskell-platform(ghc 7.6.3,cabal 1.16)并且发生了同样的错误。
haskell - 无法安装haskell包http-enumerator
运行 cabal install 时得到以下 bash 脚本。
看起来它抱怨 http-enumerator 所需的许多软件包不可用。我不确定打印输出的最后一行中的“Backjump”是什么意思。
如何解决包依赖关系?
谢谢!
haskell - 安装 Hackage 字符串转换失败
问题
我正在安装 Hackage string-conversions
。但是,它失败并出现以下错误。
错误日志
环境
Ubuntu GNOME:14.10
ghc:7.6.3
阴谋集团:1.20.0.2
haskell - 我怎么知道应该为黑客攻击的不一致负责
尝试安装criterion
时,我遇到了我依赖想要重新安装的其他软件包的麻烦。重新安装它们会破坏一切(我已经尝试过)。
现在,我如何确定是否应该criterion
为此(使用太旧的依赖项)或其他包(因为更新不足)负责?
haskell - Haskell:hackage Control.Applicative 文章中应用函子定律的描述中的缺陷?:它说 Applicative 决定 Functor
我想我在hackage 文章中Control.Applicative
发现了一个缺陷。作为对应用函子定律的描述,它说:
一个带有应用程序的函子,提供嵌入纯表达式 (
pure
) 的操作,以及对计算进行排序并组合它们的结果 (<*>
)。一个最小的完整定义必须包括满足以下定律的这些函数的实现:
身份
作品
同态
互换
(请注意,这并没有说明 fmap 的任何内容)并且它指出这些法律决定了Functor
实例:
作为这些定律的结果,
Functor
f 的实例将满足
起初我认为这显然是错误的。也就是说,我猜肯定存在t
满足以下两个条件的类型构造函数:
t
是Applicative
满足上述规则的一个实例,并且- 有两种不同的实现
instance (Functor t)
(即有两个不同的函数fmap1, fmap2 :: (a->b) -> (t a->t b)
,满足函子定律)。
如果(且仅当)上述正确,则必须将上述语句重写为
f 的 Functor 实例必须满足
作为这些法律的结果,这符合
Functor
法律。
这显然是正确的,无论我的猜测是否正确。
我的问题是:我的猜测正确吗?有没有t
符合要求的条件?
以下是我在尝试自己回答这个问题时的想法的解释。
如果我们只是对实际 Haskell 编程不感兴趣的数学家,我们可以很容易地肯定地回答这个问题。实际上,
满足上面的要求 1 和 2(事实上,几乎任何事情都可以)。事实上,是和Identity
的一个简单的实例,如 中所定义。(这满足了。)要定义另一个“实现” ,为每种类型采取两个函数Functor
Applicative
Data.Functor.Identity
fmap f = (pure f <*>)
instance (Functor f)
a
这样
(从理论上讲,这很容易)。现在定义
这符合Functor
法律,如果有
这样
但是我们是否可以在 Haskell 中做到这一点并不明显。是这样的:
在 Haskell 中可能吗?
编辑
我忘了写一些很重要的东西。我认为Control.Applicative
它是 GHC 基础包的一部分,所以我也对我的问题的答案是否会随着我还不理解的任何 GHC 语言扩展(例如FlexibleInstances
or )而改变感兴趣。OverlappingInstances
haskell - 使用函数 X 查找最早的包版本
所以我坐在这里想知道为什么我找不到我正在寻找的功能,事实证明它在我安装的软件包版本中不存在。
那么如何让 Hackage 告诉我该功能是在哪个版本中添加的呢?
(特别是,我可以在我的 Cabal 描述中指定正确的包边界。)
haskell - 如何判断 haskell 源代码是否有 Bang
是否有任何库函数可以告诉给定的 .hs 文件是否使用严格注释?还是我必须进入语法树?
haskell - Yesod 类型文本上的正则表达式
目前,我正在将我的 Text 更改为 String,然后使用 Text.Regex.Posix 进行匹配。在 Yesod 中是否有一种惯用且有效的方法来执行正则表达式?