问题标签 [hpack]

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 回答
368 浏览

haskell - 一个人如何使用 hpack 拥有多个库?

我想将我的项目组织到不同的库中,因为最终我可能会将一些拆分到外部存储库中。

在一个.cabal文件中,我可以有多个库(我相信一个未命名,多个命名):

最初我在我的 hpack 中这样尝试package.yaml

但在这种情况下,似乎没有一个条目被正确解释,因为例如 source-dirs 不存在于生成的 cabal 文件中。

我也试过这个,但不出所料,其中一个库定义被覆盖了:

0 投票
1 回答
32 浏览

haskell - Hpack 或预处理器平台信息

我正在为一个项目使用 hpack+stack,并且有一个硬编码路径(用于调试,我不想正确执行此操作),这对于 mac os x 和 linux 是不同的。现在我把它放在一个自己的 gitignored 文件上,这个文件在我的工作站之间有所不同,但我更愿意让预处理器来处理它。

理想情况下,我想要等效于 的东西#ifdef __linux__,它不起作用。我什至会很高兴操纵package.yaml提出-D编译器标志。hpack(我认为使用Data.Yaml)是否具有此功能?

0 投票
2 回答
205 浏览

http2 - HTTP2(HPACK)如何从payload中导出动态解压表索引

“请求消息 1”正在使用静态表索引 31 来发送内容类型信息。然后将该条目添加到索引值为 63 的动态表中。如何从“请求消息 1”中导出动态表索引值?

请求消息 1:

请求消息 2:

0 投票
0 回答
101 浏览

haskell - 将 hsc2hs 与 HPack 和 Stack 一起使用

我想通过 Stack 和 HPack 使用 hsc2hs。问题是,由于 HPack 不允许我将.hsc文件列为源文件,.hs因此对文件的更改.hsc不会触发stack build.

我的package.yaml文件如下:

使用上述文件,初始成功(包括从stack build构建),但是,如果更改,后续调用不会执行任何操作。sim-ffi.hssim-ffi.hscstack buildsim-ffi.hsc

如果我尝试将main键的值从sim-ffi.hsto更改sim-ffi.hsc,我会被明确告知:

0 投票
1 回答
657 浏览

haskell - 在默认的 Haskell Stack 项目中构建多个可执行文件

我使用默认stack new设置来设置一个项目,该项目具有一个服务器和一个客户端作为单独的可执行文件。package.yaml我以看似正确的方式更改了文件(截至 2020 年 4 月 21 日“没有用户指南”),并在我的app目录中添加了一个名为Client.hs.

我收到一条错误消息,提示“非法启用在 'other-modules' 中列出的主模块 'Main' 的解决方法!”

如何同时构建客户端和服务器的堆栈?

当我跑步时,stack build我得到:

的相关部分package.yaml如下所示:

0 投票
1 回答
115 浏览

http-headers - 著名的 HPACK 演示图错了吗?

在此处输入图像描述

19我对最右边的图片感到非常困惑,恕我直言,这张图片是 4 [2]。

幻灯片来自https://docs.google.com/presentation/d/1r7QXGYOLCh4fcUq0jDdDwKJWNqWK1o4xMtYpKZCJYjM/edit#slide=id.gfd0e3427_048

[2] https://http2.github.io/http2-spec/compression.html#rfc.section.A

0 投票
0 回答
25 浏览

hpack - hpack 替换 cabal - 找不到项目根目录中的 Lib 目录

我想.cabal用 hpack 替换一个长但不是很复杂的文件。项目目录的结构是| |- src(带有 main.hs)|- Lib 带有文件 A.hs 中的模块 Lib.A,文件 B.hs 中的 Lib.B ...

package.yaml我有

但得到错误

将什么放入 source-dirs 以找到Lib项目根目录中的目录?

0 投票
0 回答
59 浏览

haskell - 是否可以拥有具有不同扩展名的 Haskell 源文件?

在 Haskell 项目中常用的任何构建工具(即stackcabalhpack)中,是否可以有一个源目录,其中包含具有不同扩展名的源文件(即除了*.hsor *.lhs)?

我需要具有多个扩展名的源文件,例如*.md.lhs, 或者因为/*.rst.lhs需要直接使用相同的源文件,但是第二个扩展名对我正在编写的自定义脚本有意义。stackcabalshake

似乎cabal/stack正在忽略任何文件*.*.lhs

0 投票
1 回答
203 浏览

haskell - 在 Haskell 中创建自定义标志

我有一个测试套件,它使用两个后端运行相同的测试用例:内存中的一个和真实的,我正在尝试创建一个仅在存在标志时才运行真实的函数。

我在 Prelude 中时不时地看到它,但我无法让它发挥作用。

我或多或少如下:

你对缺失的部分有什么提示吗?

0 投票
1 回答
30 浏览

haskell - 测试 GHC 编译时错误

我正在研究proto-lens#400调整 Haskell 代码生成器。在其中一项测试中,我想验证某些 API尚未构建。具体来说,我想确保某种类型的程序不会成功进行类型检查。我也有一个类似的程序,它改变了一个标识符,它应该编译,以防止打破测试的错字。阅读扩展和使用 GHC 作为库我设法让我的测试编写了一个小文件,并使用 GHC 作为库对其进行编译。

但我需要测试发出的代码来加载其他一些模块。特别是该项目的代码生成器的输出及其具有传递依赖关系的运行时环境。我充其量对提供构建时间系统的 stack 和 hpack 有一个非常粗略的了解。我知道我可以将依赖项添加到某些package.yaml文件以使它们可用于单个测试,但我不知道如何从作为运行测试的一部分设置的 GHC 会话中访问此类依赖项。我想我可能会在某些环境变量中找到一些可用的数据,但我也相信这种方法可能没有记录,并且容易在没有警告的情况下中断。

我怎样才能让测试用例将 GHC 用作库并让它访问用表示的依赖项package.yaml?或者,我可以使用常规测试用例以外的其他构造来表达具有依赖关系的文件,但检查该文件是否无法编译?