问题标签 [haskell-snap-framework]

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 投票
2 回答
965 浏览

haskell - 部署使用 Snap 框架的 Haskell 代码

您在 Snap 中以稳定的方式部署用于生产的 Haskell 代码有何经验?

如果服务器上的编译失败,那么我想中止部署,如果成功,那么我希望它关闭 snap-server 并启动新版本。

我知道有很多方法。从 rsync 到 git-hooks 的一切(git pull 是一场噩梦)。但我想听听你的经历。

0 投票
1 回答
641 浏览

haskell - 如何避免使用快照框架在haskell中的不同“字符串”类型之间进行转换?

我想为 POST 数据生成解码结果。许多代码在转换“字符串”时被“浪费”了。这使代码难看。有更好的解决方案吗?

您为此目的的代码是什么?

0 投票
2 回答
1048 浏览

haskell - 从 Snap 访问 MongoDB

我正在尝试在 splice 中使用 mongodb haskell 驱动程序(快照驱动程序似乎因 snap > 0.5 而损坏)访问 mongo。

这是我到目前为止所获得的:

我知道我需要在那里使用 liftIO ,因为 mongo 动作发生在 IO monad 中,我想把它拉回来。我的理解崩溃的地方是编译该拼接的结果:

很抱歉发布“请向我发送代码”问题,但我不知所措:我哪里出错了,我该如何完成这项工作?

0 投票
1 回答
151 浏览

web-services - 使用 Snap Web 框架为 Heist 模板添加 OnLoad 钩子

我希望在使用Snap的 Web 应用程序中添加一些用于预处理Heist模板的钩子。到目前为止,我天真的方法是在我的应用程序初始化程序中使用以下代码:

这段代码当然不起作用,因为在从“资源/模板”加载模板之后添加了钩子

为了添加 OnLoad 钩子,如何在加载初始模板之前修改 Heist 模板状态?

0 投票
2 回答
225 浏览

haskell - 使用 snaplet-session 输入错误

应用类型

初始化器

处理程序

heistServe类型Handler b (Heist b) ()

类型错误:

0 投票
1 回答
195 浏览

session - 使用 Snaplet.Session 的请求之间不共享会话

这里是一个简单的 Snaplet 和 Session 示例

我无法在第二个请求中获得会话。

0 投票
1 回答
408 浏览

haskell - 依赖类约束的模糊类型变量

我正在为Snap web 框架编写一个新的身份验证系统,因为内置的身份验证系统不够模块化,并且它具有一些对我的应用程序来说是冗余/“自重”的功能。不过,这个问题根本与 Snap 无关。

这样做时,我遇到了类型约束不明确的问题。在下面的代码中,对我来说很明显的类型back只能是b函数类型中的类型变量,但 GHC 抱怨类型不明确。

如何在不使用 eg的情况下更改以下代码,使类型为backis (因为问题出在约束上,而不是类型太笼统)?某处是否需要功能依赖?bScopedTypeVariables

相关类型类:

失败的代码:

完整错误:

0 投票
1 回答
430 浏览

haskell - 快速生成 Html 列表

我想通过构建一些 HTML 并将其绑定到标签以在 Heist 模板中使用来集成 Snap 的模板和 Blaze HTML 构建器。这是我尝试过的。

这不能按预期工作,因为 snap 将 HTML 字符串直接呈现到生成的页面。如何快速渲染 blaze 生成的 HTML?

0 投票
1 回答
296 浏览

scala - 适合 Snap 和 Heist 的表单库

我正在寻找一个可以帮助我使用SnapHeist创建表单的库。据我所知,Snap 没有“有福”的表单库,而且Hackage上的流浪表单库似乎都不是特别适合 Heist 模板的声明性性质。

由于 Heist 与Lift web 框架使用的模板系统非常相似,我想知道是否有一些东西可以为我提供与那里可用的类似的表单支持。如果你不熟悉它,如果翻译成 Heist 大概是这样的:

是否有任何可用的库可以粘合在一起以获得对此类内容的支持?

0 投票
2 回答
117 浏览

haskell - 如何解决 cabal 存储库中不再存在的旧包?

例如,我想构建snap-pastie项目。但是所需的包 snap-extension-mongodb 在 cabal 存储库中不可用。

snap-extension-*包裹也是如此。