Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell Web框架_Haskell_Happstack_Haskell Snap Framework - Fatal编程技术网

Haskell Web框架

Haskell Web框架,haskell,happstack,haskell-snap-framework,Haskell,Happstack,Haskell Snap Framework,我正在使用haskell创建简单的web应用程序。首先,我使用Snap-in front,可以运行应用程序,但我想向应用程序添加用户输入。 我找不到一种方法来获取函数的用户输入参数。我该怎么做 另外,我还使用了Happstack框架,我无法导入“Happstack.Server”。我使用阴谋集团的安装配置堆栈。它已成功安装,但当我尝试导入到“Happstack.Server”时,它给了我一个错误: <no location info>: Could not find module `

我正在使用haskell创建简单的web应用程序。首先,我使用Snap-in front,可以运行应用程序,但我想向应用程序添加用户输入。
我找不到一种方法来获取函数的用户输入参数。我该怎么做

另外,我还使用了Happstack框架,我无法导入“Happstack.Server”。我使用阴谋集团的安装配置堆栈。它已成功安装,但当我尝试导入到“Happstack.Server”时,它给了我一个错误:

<no location info>:
Could not find module `Happstack.Server':
  it is not a module in the current program, or in any known package.
1) 检查Happstack是否已实际安装并公开:

ghc-pkg list | grep Happstack
2) 如果您尝试在ghci中导入Happstack.Server会怎么样

3) 最好使用CabalDev或capri来安装这些东西并制作沙箱

4) Snap和Yesod是一个非常新的产品,他们正在大力开发,Happstack非常漂亮 稳定可靠

5) 你在用什么操作系统?您是如何安装haskell的?Ubuntu+haskell 6.12+Happstack开箱即用

关于日志,似乎阴谋集团的包裹不知怎么搞砸了。我建议您从.cabal和.ghc中删除所有软件包,重新安装cabal,然后安装cabal dev,如下所述:

然后和Happstack一起玩。有些人实际上使用了capri,它也可以工作。

Snap的函数允许您获取用户指定的HTTP请求参数。这些可以来自表单提交的帖子正文,也可以来自查询字符串。例如,考虑下面的代码:

site = dir "mypage" pageHandler
pageHandler = do
    val <- getParam "foo"
    writeBS $ maybe "no value" id val
site=dir“mypage”页面处理程序
pageHandler=do

val你的安装搞砸了。不幸的是,阴谋集团有时会这样做

最好使用“ghc pkg unregister”删除所有happstack软件包、hslogger和sendfile。确保它们已从用户和全局包数据库中删除。(ghc软件包列表将向您显示已安装的软件包)。一旦您删除了旧版本,请执行、cabal更新和cabal安装堆栈。那么事情应该会成功

“用户输入”是什么意思?你是说html表单吗?还是别的什么

速成课程的这一部分可能会满足您的需求:


还可以将消化函子与Happstack一起使用,以获得类型安全的表单处理。不幸的是,这还没有很好的记录。尽管我相信disgestive functors的源代码确实包含了一个工作Happstack示例

当我们在web框架时,您是否签出了YesSOD?我个人的看法是,它看起来比snap和happstack加在一起更有希望。为什么?因为它更活跃,我每周都会看到YesSOD的每日推送和博客帖子。链接:1)ghc pkg列表2)如果:ghci>import hapstack.Serverthanxx用于回复,我尝试了yesod,@Tarrasch我无法安装yesod,当我尝试安装Thathaxx用于回复@voidizard时,会出现配置错误,我没有理解您在这里所说的,我尝试了1)它显示了所有ghci包,下面是我的答案。看来阴谋集团的计划乱七八糟——这是经常发生的事。我使用cabal dev在sanbox中创建新项目,而不影响全局包。如果您不想处理沙箱,只需尝试清除所有包,安装cabal,然后安装Happstack。那就行了。但是如果你不想经常这样做,那么使用cabal dev或caprithanxx作为回复,我认为Happstack安装得不好。但是当我使用>cabal install Happstack时,它会说“没有要安装的软件包。所有请求的软件包都已经安装。如果你仍然想重新安装,那么使用--reinstall标志”我正在使用fedora 13,如果您尝试在ghci中导入Happstack.Server,请使用yumwhat安装?Prelude>import Happstack.Server:找不到模块'Happstack.Server':它不是当前程序或任何已知包中的模块。这个链接正确吗???这个链接正确。您在依赖项方面有问题。就个人而言,我通过以下方式解决了千个问题:1)清理$HOME/.cabal和$HOME/.ghc目录,重新安装cabal,然后从hackage重新安装cabal。也许你会安装Happstack,然后它就会工作了。如果你不想太频繁地执行所有的操作,最好使用cabal dev工具制作沙盒,在不影响系统的情况下播放软件包。嗯,听起来很有趣,如果我删除。ghc我需要再次安装ghc吗???,我想链接对我不起作用,那个网站上有视频,我看不到任何与haskell相关的东西,我真的很感谢你的帮助非常感谢,thanxx,yha html表单现在我找到了一种获取参数数据表单url的方法,thanxxx,我实现了一种不同的方法,
site = dir "mypage" pageHandler
pageHandler = do
    val <- getParam "foo"
    writeBS $ maybe "no value" id val