首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Haskell Fay序列异步调用

Haskell Fay序列异步调用
EN

Stack Overflow用户
提问于 2014-09-04 13:09:13
回答 1查看 200关注 0票数 3

最近,我决定将一些javascript代码移植到Fay,这样我就可以保证类型的正确性,并且能够很好地处理异步(也可以进行实验)。我构建了几个javascript对象,其唯一目的是同步并行ajax调用。我对哈斯克尔很陌生。

在Fay中,我希望发出几个ajax调用,并使用Control.Monad.Parallel.sequence使它们同步。然而,我陷入困境,迫切需要指导,因为fay-jquery AJAX函数不会为成功/失败回调返回单块,而fay snaplet中的示例也不会。它们都返回一个Fay () monad,这似乎是为了将懒惰的haskell调用排序到严格的javascript语句中,而我则希望类似于tuple of (Fay (),IO (或者SuccessResult FailureResult)),因为发出AJAX请求会导致两个不同的操作。

我对此有很多疑问:

  1. 续集单是我要找的吗?
  2. 是否有任何模块可以与Fay一起工作,并使用这个monad作为异步javascript?
  3. 由于fay-jquery的AJAX函数的副作用发生在返回Fay ()之后的任何绑定或排序之后,这是否使函数变得不方便?
  4. 我注意到一个Fay回购中的延续单 -为什么它不被用于Fay本身?我唯一能找到的就是这个gist包装异步node.js fs调用。

答案将不胜感激!他们会极大地帮助我理解这些东西。

EN

回答 1

Stack Overflow用户

发布于 2014-09-08 08:06:46

  1. 是。Cont示例本质上做了您想做的事情,没有错误处理。
  2. ^
  3. 这取决于你对“不洁”的定义。我想说的是,在执行所有效果之前返回的函数仍然可以是纯的。在Haskell中,几乎所有的懒惰计算都是这样。例如,参见Haskell的forkIO :: IO () -> IO ThreadId
  4. 我不知道你的意思是什么“在费伊”。我不认为前奏曲应该利用这一点,但是其他库可以使用Cont,如果您想要,可以随意使用这个示例。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25666404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档